Dela via


.create-funktionskommando

Skapar en lagrad funktion, som är en återanvändbar KQL-fråga med det angivna namnet. Funktionsdefinitionen sparas 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 behörighet för databasanvändare för att kunna köra det här kommandot.

Syntax

.createfunction [ ifnotexists ] [ with(propertyName=propertyValue [, ...]) ] functionName(Parametrar){Kroppen}

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
ifnotexists string Om det anges skapas funktionen endast om funktionen inte finns ännu.
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.
parameters string En kommaavgränsad lista över parametrar som krävs av funktionen. Formatet för varje parameter måste vara ParameterName:ParameterDataType.
Kroppen string ✔️ Ett användardefinierat funktionsuttryck.

Egenskaper som stöds

Namn Typ Description
docstring string En beskrivning av funktionen i användargränssnittssyfte.
folder string Namnet på en mapp som används för kategorisering av grä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.

Tips

Om en funktion omfattar frågor mellan kluster och du planerar att återskapa funktionen med hjälp av ett Kusto-frågespråk skript anger du skipvalidation till true.

Returer

Utdataparameter Typ Beskrivning
Name string Namnet på funktionen.
Parametrar string De parametrar som krävs av funktionen.
Brödtext string (Noll eller mer) 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.

Anteckning

  • Om funktionen redan finns:
    • Om ifnotexists flaggan anges ignoreras kommandot (ingen ändring tillämpas).
    • Om ifnotexists flaggan 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 demofunktion

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

Demofunktion med parameter

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)  {StormEvents | take myLimit}
Name Parametrar Brödtext Mapp DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Demo Demofunktion med parameter