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

.createfunction [ 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 skipvalidationtrue.

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
  • 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