Sdílet prostřednictvím


Příkaz .create function

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

Funkce můžou volat jiné funkce (nepodporuje se rekurzivní funkce). Kromě toho jsou let 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.

Syntaxe

.createfunction [ ifnotexists ] [ with(propertyName = propertyValue [, ...]) ] text parametrů {) functionName ( }

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

Parametry

Název Type Požadováno Popis
ifnotexists string Pokud je tato funkce zadaná, vytvoří se pouze v případě, že funkce ještě neexistuje.
functionName string ✔️ Název funkce, která se má vytvořit nebo změnit.
propertyName, propertyValue string Čárkami oddělený seznam párů vlastností klíč-hodnota. 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

Name Typ Popis
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 naleznete v tématu Zobrazení.
skipvalidation bool Určuje, jestli má funkce spouštět logiku ověření nebo ne, a proces selže, pokud funkce není platná. Výchozí hodnota je false.

Tip

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

Návraty

Výstupní parametr Typ Popis
Name 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 funkce již existuje:
    • Pokud ifnotexists je zadán příznak, příkaz se ignoruje (bez použití změny).
    • Pokud ifnotexists není zadán příznak, 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: boolean, string, long, datetime, timespan, double a dynamic.
  • Slouží skipvalidation k vynechání sémantického ověřování funkce. To je užitečné, když jsou funkce vytvořeny v nesprávném pořadí a F1, který používá F2, je vytvořen dříve.

Příklady

Jednoduchá ukázková funkce

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
Název 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}
Název Parametry Text Složka DocString
MyFunction2 (myLimit:long) {StormEvents | take myLimit} Ukázka Demo funkce s parametrem