Delen via


.create function command

Van toepassing op: ✅Microsoft FabricAzure Data Explorer-

Hiermee maakt u een opgeslagen functie, een herbruikbare KQL-query met de opgegeven naam. De functiedefinitie wordt behouden met de metagegevens van de database.

Functies kunnen andere functies aanroepen (recursiviteit wordt niet ondersteund). Bovendien zijn let instructies toegestaan als onderdeel van de functietekst. Zie let instructies.

Regels voor parametertypen en CSL-instructies zijn hetzelfde als voor let instructies.

Machtigingen

U moet ten minste databasegebruiker machtigingen hebben om deze opdracht uit te voeren.

Syntaxis

.create function [ ifnotexists ] [ with(propertyName=propertyValue [, ...]) ] functionName(parameters){hoofdtekst}

Meer informatie over syntaxisconventies.

Parameters

Naam Type Vereist Beschrijving
ifnotexists string Indien opgegeven, wordt de functie alleen gemaakt als de functie nog niet bestaat.
functionName string ✔️ De naam van de functie die moet worden gemaakt of gewijzigd.
propertyName, propertyValue string Een door komma's gescheiden lijst met sleutel-waarde-eigenschapsparen. Zie ondersteunde eigenschappen.
parameters string Een door komma's gescheiden lijst met parameters die door de functie zijn vereist. De indeling voor elke parameter moet worden ParameterName:ParameterDataType.
hoofdtekst string ✔️ Een door de gebruiker gedefinieerde functie-expressie.

Ondersteunde eigenschappen

Naam Type Beschrijving
docstring string Een beschrijving van de functie voor gebruikersinterfacedoeleinden.
folder string De naam van een map die wordt gebruikt voor categorisatie van UI-functies.
view bool Hiermee wordt deze functie aangewezen als een opgeslagen weergave. Opgeslagen weergaven kunnen deelnemen aan zoek- en union * scenario's. Zie Weergavenvoor meer informatie.
skipvalidation bool Bepaalt of validatielogica op de functie moet worden uitgevoerd en mislukt het proces als de functie niet geldig is. De standaardwaarde is false.

Fooi

Als een functie query's tussen clusters omvat en u de functie opnieuw wilt maken met behulp van een Kusto Query Language-script, stelt u skipvalidation in op true.

Retourneert

Uitvoerparameter Type Beschrijving
Naam string De naam van de functie.
Parameters string De parameters die door de functie zijn vereist.
Lichaam string (Nul of meer) let instructies gevolgd door een geldige CSL-expressie die wordt geëvalueerd bij functie-aanroep.
Map string Een map die wordt gebruikt voor categorisatie van UI-functies. Deze parameter wijzigt niet de manier waarop de functie wordt aangeroepen.
DocString string Een beschrijving van de functie voor gebruikersinterfacedoeleinden.

Notitie

  • Als de functie al bestaat:
    • Als ifnotexists vlag is opgegeven, wordt de opdracht genegeerd (geen wijziging toegepast).
    • Als ifnotexists vlag NIET is opgegeven, wordt er een fout geretourneerd.
    • Zie .alter function voor het wijzigen van een bestaande functie
  • Niet alle gegevenstypen worden ondersteund in let instructies. Ondersteunde typen zijn: Booleaanse waarde, tekenreeks, lange, datum/tijd, tijdspanne, dubbel en dynamisch.
  • Gebruik skipvalidation om semantische validatie van de functie over te slaan. Dit is handig wanneer functies in een onjuiste volgorde worden gemaakt en F1 die gebruikmaakt van F2 eerder wordt gemaakt.

Voorbeelden

Eenvoudige functie

In het volgende voorbeeld wordt de MyFunction1 functie gemaakt met een beschrijving (docstring), een map met de naam Demoen wordt de functie gedefinieerd.

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
Naam Parameters Lichaam Map DocString
MyFunction1 () {StormEvents | take 100} Demo Eenvoudige demofunctie

Functie met een parameter

In het volgende voorbeeld wordt de MyFunction2-functie gemaakt met een beschrijving (docstring), map met de naam Demoen wordt de parameter Mytimestamp gedefinieerd.

.create function with (docstring = "Demo function with date parameter",folder = "Demo") 
 MyFunction2(Mytimestamp:datetime) {
    StormEvents
    | where EndTime <= Mytimestamp
 }
Naam Parameters Lichaam Map DocString
MyFunction2 (Mytimestamp:datetime) {StormEvents | where EndTime <= Mytimestamp} Demo Demofunctie met datumparameter