Comando .create function
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
Crea una funzione archiviata, ovvero 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 [,
...])
] corpo dei parametri{
)
functionName (
}
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | 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 per scopi dell'interfaccia utente. |
folder |
string |
Nome di una cartella usata per la categorizzazione delle funzioni dell'interfaccia utente. |
view |
bool |
Designa 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 nella funzione e non eseguire il processo 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
.
Valori restituiti
Parametro di output | Tipo | Descrizione |
---|---|---|
Name | string |
Nome della funzione. |
Parametri | string |
Parametri richiesti dalla funzione . |
Testo | 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 il modo in cui viene richiamata la funzione. |
DocString | string |
Descrizione della funzione per scopi dell'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 la modifica di una funzione esistente, vedere
.alter function
- Se
- Non tutti i tipi di dati sono supportati nelle
let
istruzioni . I tipi supportati sono: booleano, 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 creato in precedenza.
Esempi
Funzione demo semplice
L'esempio seguente crea la MyFunction1
funzione con una descrizione (docstring
), una cartella denominata Demo
e definisce la funzione .
.create function
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()
{StormEvents | take 100}
Nome | Parametri | Testo | Cartella | DocString |
---|---|---|---|---|
MyFunction1 | () | {StormEvents | take 100} | Demo | Funzione demo semplice |
Funzione demo con parametro
L'esempio seguente crea la funzione MyFunction2 con una descrizione (docstring
), una cartella denominata Demo
e definisce il MyLimit
parametro .
.create function
with (docstring = 'Demo function with parameter', folder='Demo')
MyFunction2(myLimit: long)
{StormEvents | take myLimit}
Nome | Parametri | Testo | Cartella | DocString |
---|---|---|---|---|
MyFunction2 | (myLimit:long) | {StormEvents | take myLimit} | Demo | Funzione demo con parametro |