Partager 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 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 let les instructions.

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

autorisations

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

Syntaxe

.createfunction [ ifnotexists ] [ with(propertyName = propertyValue [, ...] ] )corps des paramètres{ ) functionName ( }

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
ifnotexists string Si elle est spécifiée, la fonction est créée uniquement si la fonction n’existe pas encore.
Nom de fonction 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 les 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.
corps 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 qu’affichage stocké. Les vues stockées peuvent participer à des scénarios de recherche et d’union * . Pour plus d’informations, consultez Vues.
skipvalidation bool Détermine s’il faut exécuter ou non la logique de validation sur la fonction et é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, affectez la truevaleur skipvalidation .

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 é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.

Remarque

  • 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 les suivants : booléen, chaîne, long, datetime, timespan, double et dynamique.
  • Permet skipvalidation d’ignorer la validation sémantique de la fonction. Cela est utile lorsque des fonctions sont créées dans un ordre incorrect et que F1 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émo Fonction de démonstration simple

Fonction de démonstration avec 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émo Fonction de démonstration avec paramètre