Share via


Commande .create function

Crée une fonction stockée, qui est une requête KQL réutilisable, avec le nom donné. La définition de la fonction est conservée avec les métadonnées de la base de données.

Les fonctions peuvent appeler d’autres fonctions (la récursivité n’est pas prise en charge). En outre, let les instructions sont autorisées dans le cadre du corps de la fonction. Consultez leslet instructions.

Les règles pour les types de paramètres et les instructions CSL sont les mêmes que pour let les instructions.

Autorisations

Vous devez disposer au moins des autorisations d’utilisateur de base de données pour exécuter cette commande.

Syntax

.createfunction[ ifnotexists ] [ with(propertyName propertyValue= [, ...]) ] Functionname(Paramètres){Corps}

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
ifnotexists string Si elle est spécifiée, la fonction est créée uniquement si elle n’existe pas encore.
Functionname string ✔️ Nom de la fonction à créer ou à modifier.
propertyName, propertyValue string Liste séparée par des virgules de paires de propriétés clé-valeur. Consultez propriétés prises en charge.
parameters string Liste séparée par des virgules des paramètres requis par la fonction. Le format de chaque paramètre doit être ParameterName:ParameterDataType.
body string ✔️ Expression de fonction définie par l’utilisateur.

Propriétés prises en charge

Nom Type Description
docstring string Description de la fonction à des fins d’interface utilisateur.
folder string Nom d’un dossier utilisé pour la catégorisation des fonctions d’interface utilisateur.
view bool Désigne cette fonction en tant que vue stockée. Les vues stockées peuvent participer à des scénarios de recherche et d’union * . Pour plus d’informations, consultez Affichages.
skipvalidation bool Détermine s’il faut exécuter ou non la logique de validation sur la fonction et faire échouer le processus si la fonction n’est pas valide. Par défaut, il s’agit de false.

Conseil

Si une fonction implique des requêtes inter-clusters et que vous envisagez de recréer la fonction à l’aide d’un script Langage de requête Kusto, définissez sur skipvalidationtrue.

Retours

Paramètre de sortie Type Description
Nom string Nom de la fonction.
Paramètres string Paramètres requis par la fonction .
Corps string (Zéro ou plus) let instructions suivies d’une expression CSL valide qui est évaluée lors de l’appel de fonction.
Dossier string Dossier utilisé pour la catégorisation des fonctions d’interface utilisateur. Ce paramètre ne modifie pas la façon dont la fonction est appelée.
DocString string Description de la fonction à des fins d’interface utilisateur.

Notes

  • Si la fonction existe déjà :
    • Si ifnotexists l’indicateur est spécifié, la commande est ignorée (aucune modification n’est appliquée).
    • Si ifnotexists l’indicateur n’est PAS spécifié, une erreur est retournée.
    • Pour modifier une fonction existante, consultez .alter function
  • Tous les types de données ne sont pas pris en charge dans let les instructions. Les types pris en charge sont : booléen, string, long, datetime, timespan, double et dynamic.
  • Utilisez skipvalidation pour ignorer la validation sémantique de la fonction. Cela est utile lorsque les fonctions sont créées dans un ordre incorrect et que F1 qui utilise F2 est créé précédemment.

Exemples

Fonction de démonstration simple

.create function 
with (docstring = 'Simple demo function', folder='Demo')
MyFunction1()  {StormEvents | take 100}
Nom Paramètres Corps Dossier DocString
MyFunction1 () {StormEvents | take 100} Démonstration Fonction de démonstration simple

Fonction de démonstration avec le paramètre

.create function
with (docstring = 'Demo function with parameter', folder='Demo')
 MyFunction2(myLimit: long)  {StormEvents | take myLimit}
Nom Paramètres Corps Dossier DocString
MyFunction2 (myLimit :long) {StormEvents | take myLimit} Démonstration Fonction de démonstration avec le paramètre