.create function command
Van toepassing op: ✅Microsoft Fabric✅Azure 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
- Als
- 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 Demo
en 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 Demo
en 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 |