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
.create
function
[ 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 skipvalidation
true
.
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
- Si
- 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 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour