Dela via


.create-funktionskommando

Gäller för: ✅Microsoft FabricAzure Data Explorer

Skapar en lagrad funktion, som är en återanvändbar KQL-fråga, med det angivna namnet. Funktionsdefinitionen bevaras med databasmetadata.

Funktioner kan anropa andra funktioner (rekursivitet stöds inte). Dessutom tillåts let-instruktioner som en del av funktionstexten. Se let-instruktioner.

Regler för parametertyper och CSL-instruktioner är desamma som för let-instruktioner.

Behörigheter

Du måste ha minst databasanvändare behörighet att köra det här kommandot.

Syntax

.create function [ ifnotexists ] [ with(propertyName=propertyValue [, ...]) ] functionName(parametrar){brödtext}

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Krävs Beskrivning
ifnotexists string Om det anges skapas funktionen endast om funktionen ännu inte finns.
functionName string ✔️ Namnet på funktionen som ska skapas eller ändras.
propertyName, propertyValue string En kommaavgränsad lista över nyckel/värde-egenskapspar. Se egenskaper som stöds.
parametrar string En kommaavgränsad lista över parametrar som krävs av funktionen. Formatet för varje parameter måste vara ParameterName:ParameterDataType.
brödtext string ✔️ Ett användardefinierat funktionsuttryck.

Egenskaper som stöds

Namn Typ Beskrivning
docstring string En beskrivning av funktionen i användargränssnittssyfte.
folder string Namnet på en mapp som används för kategorisering av användargränssnittsfunktioner.
view bool Anger den här funktionen som en lagrad vy. Lagrade vyer kan delta i sök och union * scenarier. Mer information finns i Vyer.
skipvalidation bool Avgör om valideringslogik ska köras på funktionen eller inte och processen misslyckas om funktionen inte är giltig. Standardvärdet är false.

Dricks

Om en funktion omfattar frågor mellan kluster och du planerar att återskapa funktionen med hjälp av ett Kusto Query Language-skriptanger du skipvalidation till true.

Returnerar

Utdataparameter Typ Beskrivning
Namn string Namnet på funktionen.
Parametrar string De parametrar som krävs av funktionen.
Kropp string (Noll eller fler) let-instruktioner följt av ett giltigt CSL-uttryck som utvärderas vid funktionsanrop.
Mapp string En mapp som används för kategorisering av gränssnittsfunktioner. Den här parametern ändrar inte hur funktionen anropas.
DocString string En beskrivning av funktionen i användargränssnittssyfte.

Not

  • Om funktionen redan finns:
    • Om ifnotexists flagga anges ignoreras kommandot (ingen ändring tillämpas).
    • Om ifnotexists flagga INTE anges returneras ett fel.
    • Information om hur du ändrar en befintlig funktion finns i .alter function
  • Alla datatyper stöds inte i let-instruktioner. Typer som stöds är: boolesk, sträng, lång, datetime, tidsintervall, dubbel och dynamisk.
  • Använd skipvalidation för att hoppa över semantisk validering av funktionen. Detta är användbart när funktioner skapas i en felaktig ordning och F1 som använder F2 skapas tidigare.

Exempel

Enkel funktion

I följande exempel skapas funktionen MyFunction1 med en beskrivning (docstring), en mapp med namnet Demooch definierar funktionen.

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
Namn Parametrar Kropp Mapp DocString
MyFunction1 () {StormEvents | take 100} Demo Enkel demofunktion

Funktion med en parameter

I följande exempel skapas funktionen MyFunction2 med en beskrivning (docstring), mapp med namnet Demooch definierar parametern Mytimestamp.

.create function with (docstring = "Demo function with date parameter",folder = "Demo") 
 MyFunction2(Mytimestamp:datetime) {
    StormEvents
    | where EndTime <= Mytimestamp
 }
Namn Parametrar Kropp Mapp DocString
MyFunction2 (Mytimestamp:datetime) {StormEvents | där EndTime <= Mytimestamp} Demo Demofunktion med datumparameter