Comando .create function
Crea una funzione archiviata, che è una query KQL riutilizzabile, con il nome specificato. La definizione della funzione viene mantenuta con i metadati del database.
Le funzioni possono chiamare altre funzioni (la ricorsione non è supportata). Inoltre, let
le istruzioni sono consentite come parte del corpo della funzione. Vedere let
le istruzioni.
Le regole per i tipi di parametro e le istruzioni CSL sono uguali a per let
le istruzioni .
Autorizzazioni
Per eseguire questo comando, è necessario disporre almeno delle autorizzazioni utente del database .
Sintassi
.create
function
[ ifnotexists
] [ with
(
propertyName=
propertyValue [,
...])
] Functionname(
Parametri)
{
Corpo}
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
ifnotexists |
string |
Se specificato, la funzione verrà creata solo se la funzione non esiste ancora. | |
Functionname | string |
✔️ | Nome della funzione da creare o modificare. |
propertyName, propertyValue | string |
Elenco delimitato da virgole di coppie di proprietà chiave-valore. Vedere le proprietà supportate. | |
parameters | string |
Elenco delimitato da virgole di parametri richiesti dalla funzione . Il formato per ogni parametro deve essere ParameterName: ParameterDataType. |
|
body | string |
✔️ | Espressione di funzione definita dall'utente. |
Proprietà supportate
Nome | Tipo | Descrizione |
---|---|---|
docstring |
string |
Descrizione della funzione a scopo di interfaccia utente. |
folder |
string |
Nome di una cartella usata per la categorizzazione delle funzioni dell'interfaccia utente. |
view |
bool |
Definisce questa funzione come vista archiviata. Le visualizzazioni archiviate possono partecipare a scenari di ricerca e unione * . Per altre informazioni, vedere Visualizzazioni. |
skipvalidation |
bool |
Determina se eseguire o meno la logica di convalida sulla funzione e ha esito negativo se la funzione non è valida. Il valore predefinito è false . |
Suggerimento
Se una funzione include query tra cluster e si prevede di ricreare la funzione usando uno script Linguaggio di query Kusto, impostare su skipvalidation
true
.
Restituisce
Parametro di output | Tipo | Descrizione |
---|---|---|
Nome | string |
Nome della funzione. |
Parametri | string |
Parametri richiesti dalla funzione . |
Corpo | string |
(Zero o più) let istruzioni seguite da un'espressione CSL valida valutata al momento della chiamata di funzione. |
Cartella | string |
Cartella usata per la categorizzazione delle funzioni dell'interfaccia utente. Questo parametro non modifica la modalità di chiamata della funzione. |
DocString | string |
Descrizione della funzione a scopo di interfaccia utente. |
Nota
- Se la funzione esiste già:
- Se
ifnotexists
viene specificato il flag, il comando viene ignorato (nessuna modifica applicata). - Se
ifnotexists
il flag non è specificato, viene restituito un errore. - Per modificare una funzione esistente, vedere
.alter function
- Se
- Non tutti i tipi di dati sono supportati nelle
let
istruzioni . I tipi supportati sono: boolean, string, long, datetime, timespan, double e dynamic. - Usare
skipvalidation
per ignorare la convalida semantica della funzione. Ciò è utile quando le funzioni vengono create in un ordine non corretto e F1 che usa F2 viene creata in precedenza.
Esempio
Funzione demo semplice
.create function
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1() {StormEvents | take 100}
Nome | Parametri | Corpo | Cartella | DocString |
---|---|---|---|---|
MyFunction1 | () | {StormEvents | take 100} | Demo | Funzione demo semplice |
Funzione demo con parametro
.create function
with (docstring = 'Demo function with parameter', folder='Demo')
MyFunction2(myLimit: long) {StormEvents | take myLimit}
Nome | Parametri | Corpo | Cartella | DocString |
---|---|---|---|---|
MyFunction2 | (myLimit:long) | {StormEvents | take myLimit} | Demo | Funzione demo con parametro |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per