Udostępnij za pośrednictwem


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

.createfunction [ ] [ 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
  • 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 Demoi 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 Demoi 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