Příkaz .create function
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
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
.create
function
[ 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 true
hodnotu .
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
- Pokud
- 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
Následující příklad vytvoří MyFunction1
funkci s popisem (docstring
), složkou s názvem Demo
a definuje funkci.
.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
Následující příklad vytvoří funkci MyFunction2 s popisem (docstring
), složkou s názvem Demo
a definuje MyLimit
parametr.
.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 |