Användardefinierade funktioner

Azure Cosmos DB är en globalt distribuerad databas med flera modeller som stöder datamodeller för dokument, diagram och nyckelvärden. Innehållet i det här avsnittet är till för att hantera användardefinierade funktionsresurser (udf: er) med hjälp av SQL API via REST.

En användardefinierad funktion (UDF) är en kostnadsfri programlogik som skrivits i JavaScript. Det gör att utvecklare kan skapa en frågeoperator, vilket utökar kärnan i Cosmos DB-frågespråket. Precis som lagrade procedurer finns UDF:er inom ramen för en samling, vilket begränsar programlogik till samlingen.

På samma sätt som lagrade procedurer har UDF-resursen ett fast schema. Egenskapen body innehåller programlogik. I följande exempel visas JSON-konstruktionen för en användardefinierad funktion.

{  
"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"  
}  
  
Egenskap Beskrivning
id Krävs. Det är en användaruppsättningsbar egenskap. Det är ett unikt namn för att identifiera UDF: n. ID:t får inte överstiga 255 tecken.
Kroppen Krävs. Det är en användaruppsättningsbar egenskap. Det är UDF:s brödtext.
_Bli Det är en systemgenererad egenskap. Resurs-ID :t (_rid) är en unik identifierare som också är hierarkisk per resursstacken i resursmodellen. Den används internt för placering och navigering av UDF-resursen.
_Ts Det är en systemgenererad egenskap. Den anger den senast uppdaterade tidsstämpeln för resursen. Värdet är en tidsstämpel.
_Själv Det är en systemgenererad egenskap. Det är den unika adresserbara URI:n för resursen.
_Etag Det är en systemgenererad egenskap som anger resursetaggen som krävs för optimistisk samtidighetskontroll.

Aktiviteter

Du kan göra följande med användardefinierade funktioner:

Information om hur UDF:er fungerar, inklusive körning av en UDF i en fråga, finns i Cosmos DB-programmering: Lagrade procedurer, utlösare och UDF:er.

Se även