Polecenie .create function
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer
Tworzy funkcję przechowywaną, która jest zapytaniem KQL wielokrotnego użytku, o podanej nazwie. Definicja funkcji jest utrwalana za pomocą metadanych bazy danych.
Funkcje mogą wywoływać inne funkcje (rekursywność nie jest obsługiwana). let
Poza tym instrukcje są dozwolone w ramach treści funkcji. Zobacz let
instrukcje.
Reguły dla typów parametrów i instrukcji CSL są takie same jak w przypadku let
instrukcji.
Uprawnienia
Aby uruchomić to polecenie, musisz mieć co najmniej uprawnienia użytkownika bazy danych.
Składnia
.create
function
[ ] [ with
ifnotexists
(
propertyName =
propertyValue [,
...] ] )
Treść parametrów)
{
functionName (
}
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
ifnotexists |
string |
Jeśli zostanie określona, funkcja zostanie utworzona tylko wtedy, gdy funkcja jeszcze nie istnieje. | |
functionName | string |
✔️ | Nazwa funkcji do utworzenia lub zmiany. |
propertyName, propertyValue | string |
Rozdzielona przecinkami lista par właściwości klucz-wartość. Zobacz obsługiwane właściwości. | |
parameters | string |
Rozdzielana przecinkami lista parametrów wymaganych przez funkcję. Format dla każdego parametru musi mieć wartość ParameterName: ParameterDataType. |
|
treść | string |
✔️ | Wyrażenie funkcji zdefiniowane przez użytkownika. |
Obsługiwane właściwości
Nazwisko | Pisz | Opis |
---|---|---|
docstring |
string |
Opis funkcji dla celów interfejsu użytkownika. |
folder |
string |
Nazwa folderu używanego do kategoryzacji funkcji interfejsu użytkownika. |
view |
bool |
Wyznacza tę funkcję jako przechowywany widok. Przechowywane widoki mogą uczestniczyć w scenariuszach wyszukiwania i unii * . Aby uzyskać więcej informacji, zobacz Widoki. |
skipvalidation |
bool |
Określa, czy należy uruchomić logikę walidacji w funkcji i zakończyć proces niepowodzeniem, jeśli funkcja nie jest prawidłowa. Wartość domyślna to false . |
Napiwek
Jeśli funkcja obejmuje zapytania między klastrami i planujesz ponownie utworzyć funkcję przy użyciu skryptu język zapytań Kusto, ustaw wartość skipvalidation
true
.
Zwraca
Parametr wyjściowy | Type | opis |
---|---|---|
Nazwa/nazwisko | string |
Nazwa funkcji. |
Parametry | string |
Parametry wymagane przez funkcję. |
Treść | string |
(Zero lub więcej) let instrukcje, po których następuje prawidłowe wyrażenie CSL, które jest oceniane podczas wywołania funkcji. |
Folder | string |
Folder używany do kategoryzacji funkcji interfejsu użytkownika. Ten parametr nie zmienia sposobu wywoływanej funkcji. |
DocString | string |
Opis funkcji dla celów interfejsu użytkownika. |
Uwaga
- Jeśli funkcja już istnieje:
- Jeśli
ifnotexists
określono flagę, polecenie jest ignorowane (nie zastosowano żadnych zmian). - Jeśli
ifnotexists
nie określono flagi, zwracany jest błąd. - Aby zmienić istniejącą funkcję, zobacz
.alter function
- Jeśli
- Nie wszystkie typy danych są obsługiwane w
let
instrukcjach. Obsługiwane typy to: wartość logiczna, ciąg, długa, data/godzina, przedział czasu, podwójna i dynamiczna. - Użyj polecenia
skipvalidation
, aby pominąć semantyczną walidację funkcji. Jest to przydatne, gdy funkcje są tworzone w nieprawidłowej kolejności i F1, który używa F2, jest tworzony wcześniej.
Przykłady
Prosta funkcja demonstracyjna
Poniższy przykład tworzy MyFunction1
funkcję z opisem (docstring
), folderem o nazwie Demo
i definiuje funkcję.
.create function
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
Nazwisko | Parametry | Treść | Folder | DocString |
---|---|---|---|---|
MyFunction1 | () | {StormEvents | take 100} | Demonstracja | Prosta funkcja demonstracyjna |
Funkcja demonstracyjna z parametrem
Poniższy przykład tworzy funkcję MyFunction2 z opisem (docstring
), folderem o nazwie Demo
i definiuje MyLimit
parametr .
.create function
with (docstring = 'Demo function with parameter', folder='Demo')
MyFunction2(myLimit: long)
{StormEvents | take myLimit}
Nazwisko | Parametry | Treść | Folder | DocString |
---|---|---|---|---|
MyFunction2 | (myLimit:long) | {StormEvents | take myLimit} | Demonstracja | Funkcja demonstracyjna z parametrem |