Příkaz funkce .create

Vytvoří uloženou funkci, což je opakovaně použitelný dotaz KQL se zadaným názvem. Definice funkce se zachová s metadaty databáze.

Funkce můžou volat jiné funkce (rekurzivnost není podporovaná). Kromě toho let jsou příkazy povoleny jako součást těla funkce. Viz let příkazy.

Pravidla pro typy parametrů a příkazy CSL jsou stejná jako pro let příkazy.

Oprávnění

Ke spuštění tohoto příkazu musíte mít alespoň oprávnění uživatele databáze .

Syntax

.createfunction[ ifnotexists ] [ with(propertyName=propertyValue [, ...]) ] ] název_(funkceParametry){Tělo}

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Typ Vyžadováno Popis
ifnotexists string Pokud je tato funkce zadána, vytvoří se pouze v případě, že funkce ještě neexistuje.
název_funkce string ✔️ Název funkce, která se má vytvořit nebo změnit.
propertyName, propertyValue string Seznam párů vlastností klíč-hodnota oddělený čárkami. Viz podporované vlastnosti.
parameters string Čárkami oddělený seznam parametrů vyžadovaných funkcí Formát každého parametru musí být ParameterName:ParameterDataType.
Tělo string ✔️ Výraz funkce definovaný uživatelem.

Podporované vlastnosti

Název Typ Description
docstring string Popis funkce pro účely uživatelského rozhraní.
folder string Název složky používané pro kategorizaci funkcí uživatelského rozhraní.
view bool Určuje tuto funkci jako uložené zobrazení. Uložená zobrazení se můžou účastnit scénářů hledání a sjednocení * . Další informace najdete v tématu Zobrazení.
skipvalidation bool Určuje, jestli se má u funkce spustit logika ověřování a proces se nezdaří, pokud funkce není platná. Výchozí formát je false.

Tip

Pokud funkce zahrnuje dotazy mezi clustery a vy plánujete funkci znovu vytvořit pomocí dotazovací jazyk Kusto skriptu, nastavte skipvalidation na truehodnotu .

Návraty

Výstupní parametr Typ Popis
Název string Název funkce.
Parametry string Parametry vyžadované funkcí.
Text string (Nula nebo více) let příkazy následované platným výrazem CSL, který se vyhodnotí při vyvolání funkce.
Složka string Složka používaná pro kategorizaci funkcí uživatelského rozhraní. Tento parametr nemění způsob vyvolání funkce.
DocString string Popis funkce pro účely uživatelského rozhraní.

Poznámka

  • Pokud už funkce existuje:
    • Pokud ifnotexists je zadaný příznak, příkaz se ignoruje (žádná změna se nepoužije).
    • Pokud ifnotexists příznak NENÍ zadán, vrátí se chyba.
    • Informace o změně existující funkce najdete v tématu .alter function
  • Příkazy nepodporují let všechny datové typy. Podporované typy jsou: logická hodnota, řetězec, long, datetime, timespan, double a dynamic.
  • Slouží skipvalidation k přeskočení sémantického ověření funkce. To je užitečné, když se funkce vytvářejí v nesprávném pořadí a F1, která používá F2, je vytvořena dříve.

Příklady

Jednoduchá ukázková funkce

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
Name Parametry Text Složka DocString
MyFunction1 () {StormEvents | take 100} Ukázka Jednoduchá ukázková funkce

Demo funkce s parametrem

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)  {StormEvents | take myLimit}
Name Parametry Text Složka DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Ukázka Demo funkce s parametrem