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.

Voir aussi