.create function-Befehl
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer
Erstellt eine gespeicherte Funktion, bei der es sich um eine wiederverwendbare KQL-Abfrage mit dem angegebenen Namen handelt. Die Funktionsdefinition wird mit den Datenbankmetadaten beibehalten.
Funktionen können andere Funktionen aufrufen (Rekursivität wird nicht unterstützt). let
Außerdem sind Anweisungen als Teil des Funktionstexts zulässig. Siehe let
Anweisungen.
Regeln für Parametertypen und CSL-Anweisungen sind identisch mit let
Anweisungen.
Berechtigungen
Sie müssen mindestens über Die Berechtigungen des Datenbankbenutzers verfügen, um diesen Befehl auszuführen.
Syntax
.create
function
[ ] [ with
ifnotexists
(
propertyName =
propertyValue [,
...] ] )
functionName-Parametertext (
)
{
}
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
ifnotexists |
string |
Wenn angegeben, wird die Funktion nur erstellt, wenn die Funktion noch nicht vorhanden ist. | |
functionName | string |
✔️ | Der Name der funktion, die erstellt oder geändert werden soll. |
propertyName, propertyValue | string |
Eine durch Trennzeichen getrennte Liste von Schlüsselwert-Eigenschaftspaaren. Siehe unterstützte Eigenschaften. | |
parameters | string |
Eine durch Trennzeichen getrennte Liste von Parametern, die von der Funktion benötigt werden. Das Format für jeden Parameter muss ParameterName: ParameterDataType sein. |
|
body | string |
✔️ | Ein benutzerdefinierter Funktionsausdruck. |
Unterstützte Eigenschaften
Name | Typ | Beschreibung |
---|---|---|
docstring |
string |
Eine Beschreibung der Funktion für UI-Zwecke. |
folder |
string |
Der Name eines Ordners, der für die Kategorisierung von UI-Funktionen verwendet wird. |
view |
bool |
Legt diese Funktion als gespeicherte Ansicht fest. Gespeicherte Ansichten können an Such- und Union*-Szenarien teilnehmen. Weitere Informationen finden Sie unter Ansichten. |
skipvalidation |
bool |
Bestimmt, ob Die Überprüfungslogik für die Funktion ausgeführt werden soll, und schlägt den Prozess fehl, wenn die Funktion ungültig ist. Der Standardwert ist false . |
Tipp
Wenn eine Funktion clusterübergreifende Abfragen umfasst und Sie beabsichtigen, die Funktion mithilfe eines Kusto-Abfragesprache Skripts neu zu erstellen, legen Sie diese skipvalidation
auf .true
Gibt zurück
Ausgabeparameter | Typ | BESCHREIBUNG |
---|---|---|
Name | string |
Der Name der Funktion. |
Parameter | string |
Die parameter, die von der Funktion benötigt werden. |
Text | string |
(Null oder mehr) let Anweisungen gefolgt von einem gültigen CSL-Ausdruck, der bei Funktionsaufruf ausgewertet wird. |
Ordner | string |
Ein Ordner, der für die Kategorisierung von UI-Funktionen verwendet wird. Dieser Parameter ändert nicht die Art und Weise, wie die Funktion aufgerufen wird. |
DocString | string |
Eine Beschreibung der Funktion für UI-Zwecke. |
Hinweis
- Wenn die Funktion bereits vorhanden ist:
- Wenn
ifnotexists
das Flag angegeben ist, wird der Befehl ignoriert (keine Änderung angewendet). - Wenn
ifnotexists
das Flag NICHT angegeben ist, wird ein Fehler zurückgegeben. - Informationen zum Ändern einer vorhandenen Funktion finden Sie unter
.alter function
- Wenn
- Nicht alle Datentypen werden in
let
Anweisungen unterstützt. Unterstützte Typen sind: boolean, string, long, datetime, timespan, double und dynamic. - Wird verwendet
skipvalidation
, um die semantische Überprüfung der Funktion zu überspringen. Dies ist nützlich, wenn Funktionen in einer falschen Reihenfolge erstellt werden und F1, die F2 verwendet, zuvor erstellt wird.
Beispiele
Einfache Demofunktion
Im folgenden Beispiel wird die MyFunction1
Funktion mit einer Beschreibung (docstring
), einem Ordner mit dem Namen Demo
erstellt und die Funktion definiert.
.create function
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
Name | Parameter | Text | Ordner | DocString |
---|---|---|---|---|
MyFunction1 | () | {StormEvents | take 100} | Demo | Einfache Demofunktion |
Demo-Funktion mit Parameter
Im folgenden Beispiel wird die Funktion MyFunction2 mit einer Beschreibung (docstring
), einem Ordner namens Demo
und definiert den MyLimit
Parameter.
.create function
with (docstring = 'Demo function with parameter', folder='Demo')
MyFunction2(myLimit: long)
{StormEvents | take myLimit}
Name | Parameter | Text | Ordner | DocString |
---|---|---|---|---|
MyFunction2 | (myLimit:long) | {StormEvents | take myLimit} | Demo | Demo-Funktion mit Parameter |