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.