Commande .create function
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer
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
.create
function
[ 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 true
valeur 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
- Si
- 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
L’exemple suivant crée la MyFunction1
fonction avec une description (docstring
), un dossier nommé Demo
et définit la fonction.
.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 |
Demo function with parameter
L’exemple suivant crée la fonction MyFunction2 avec une description (docstring
), un dossier nommé Demo
et définit le MyLimit
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 | Demo function with parameter |