Share via


Door de gebruiker gedefinieerde functies

Azure Cosmos DB is een wereldwijd gedistribueerde database met meerdere modellen die ondersteuning biedt voor document-, grafiek- en sleutelwaardegegevensmodellen. De inhoud in deze sectie is bedoeld voor het beheren van door de gebruiker gedefinieerde functieresources (udfs) met behulp van de SQL-API via REST.

Een door de gebruiker gedefinieerde functie (UDF) is een vrij stukje toepassingslogica dat is geschreven in JavaScript. Hiermee kunnen ontwikkelaars een queryoperator maken, waardoor de kern van de Cosmos DB-querytaal wordt uitgebreid. Net als opgeslagen procedures bevinden UDF's zich in de grenzen van een verzameling, waardoor de toepassingslogica wordt beperkt tot de verzameling.

Net als bij opgeslagen procedures heeft de resource UDF's een vast schema. De hoofdteksteigenschap bevat de toepassingslogica. In het volgende voorbeeld ziet u de JSON-constructie van een door de gebruiker gedefinieerde functie.

{  
"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"  
}  
  
Eigenschap Beschrijving
id Vereist. Het is een eigenschap die door de gebruiker kan worden ingesteld. Het is een unieke naam om de UDF te identificeren. De id mag niet langer zijn dan 255 tekens.
Lichaam Vereist. Het is een eigenschap die door de gebruiker kan worden ingesteld. Het is de hoofdtekst van de UDF.
_Ontdoen Het is een door het systeem gegenereerde eigenschap. De resource-id (_rid) is een unieke id die ook hiƫrarchisch is per resourcestack in het resourcemodel. Het wordt intern gebruikt voor de plaatsing en navigatie van de UDF-resource.
_Ts Het is een door het systeem gegenereerde eigenschap. Hiermee geeft u de laatst bijgewerkte tijdstempel van de resource op. De waarde is een tijdstempel.
_Zelf Het is een door het systeem gegenereerde eigenschap. Dit is de unieke adresseerbare URI voor de resource.
_etag Het is een door het systeem gegenereerde eigenschap die de resource-etag aangeeft die is vereist voor optimistisch gelijktijdigheidsbeheer.

Taken

U kunt het volgende doen met door de gebruiker gedefinieerde functies:

Zie Cosmos DB-programmering: opgeslagen procedures, triggers en UDF's voor informatie over de werking van UDF's, waaronder het uitvoeren van een UDF in een query.

Zie ook