Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 [ ] [ ifnotexistswith(propertyName=propertyValue [, ...] ] (
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 | Type | 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ść skipvalidationtrue.
Zwraca
| Parametr wyjściowy | Type | opis |
|---|---|---|
| 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
ifnotexistsokreślono flagę, polecenie jest ignorowane (nie zastosowano żadnych zmian). - Jeśli
ifnotexistsnie 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
letinstrukcjach. 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
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 z parametrem
Poniższy przykład tworzy funkcję MyFunction2 z opisem (docstring), folderem o nazwie Demoi definiuje parametr Mytimestamp.
.create function with (docstring = "Demo function with date parameter",folder = "Demo")
MyFunction2(Mytimestamp:datetime) {
StormEvents
| where EndTime <= Mytimestamp
}
| Nazwisko | Parametry | Treść | Folder | DocString |
|---|---|---|---|---|
| MyFunction2 | (Mytimestamp:datetime) | {StormEvents | where EndTime <= Mytimestamp} | Demonstracja | Funkcja demo z parametrem date |