.create-funktionskommando
Gäller för: ✅Microsoft Fabric✅Azure 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
- Om
- 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 Demo
och 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 Demo
och 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 |