Fonctions définies par l'utilisateur
Azure Cosmos DB est une base de données multimodèle distribuée à l’échelle mondiale qui prend en charge les modèles de données de document, de graphique et de valeur clé. Le contenu de cette section est destiné à la gestion des ressources de fonction définies par l’utilisateur (udfs) à l’aide de l’API SQL via REST.
Une fonction définie par l’utilisateur (UDF) est un élément de logique d’application sans effet secondaire écrit en JavaScript. Il permet aux développeurs de construire un opérateur de requête, étendant ainsi le cœur du langage de requête Cosmos DB. À l'instar des procédures stockées, les fonctions définies par l'utilisateur se situent à l'intérieur d'une collection, limitant ainsi la logique d'application à la collection.
Comme les procédures stockées, la ressource de fonctions définies par l'utilisateur a un schéma fixe. La propriété body contient la logique d'application. L’exemple suivant illustre la construction JSON d’une fonction définie par l’utilisateur.
{
"id":"simpleTaxUDF",
"body": "
function tax(income) {
if(income == undefined)
throw 'no input';
if (income < 1000)
return income * 0.1;
else if (income < 10000)
return income * 0.2;
else
return income * 0.4;
}
",
"_rid":"hLEEAI1YjgcBAAAAAAAAgA==",
"_ts":1408058682,
"_self":"dbs\/hLEEAA==\/colls\/hLEEAI1Yjgc=\/udfs\/hLEEAI1YjgcBAAAAAAAAgA==\/",
"_etag":"00004100-0000-0000-0000-53ed453a0000"
}
Propriété | Description |
---|---|
id | Obligatoire. Il s’agit d’une propriété settable par l’utilisateur. Nom unique identifiant la fonction définie par l'utilisateur. L’ID ne doit pas dépasser 255 caractères. |
body | Obligatoire. Il s’agit d’une propriété settable par l’utilisateur. Il s’agit du corps de la fonction UDF. |
_Débarrasser | Il s’agit d’une propriété générée par le système. L’ID de ressource (_rid) est un identificateur unique qui est également hiérarchique en fonction de la pile de ressources sur le modèle de ressource. Il est utilisé en interne pour le placement de la ressource de fonction définie par l'utilisateur et la navigation vers celle-ci. |
_Ts | Il s’agit d’une propriété générée par le système. Elle spécifie l'horodateur de la dernière mise à jour de la ressource. La valeur est un horodateur. |
_self | Il s’agit d’une propriété générée par le système. Il s'agit de l'URI adressable unique pour la ressource. |
_Etag | Il s’agit d’une propriété générée par le système qui spécifie l’etag de ressource requis pour le contrôle d’accès concurrentiel optimiste. |
Tâches
Vous pouvez effectuer les opérations suivantes avec des fonctions définies par l’utilisateur :
Pour plus d’informations sur le fonctionnement des fonctions définies par l’utilisateur, notamment l’exécution d’une fonction UDF dans une requête, consultez Programmation Cosmos DB : procédures stockées, déclencheurs et fonctions définies par l’utilisateur.