Uživatelem definované funkce
Azure Cosmos DB je globálně distribuovaná databáze s více modely, která podporuje modely dokumentů, grafů a datových modelů klíč-hodnota. Obsah v této části slouží ke správě prostředků funkcí definovaných uživatelem pomocí rozhraní SQL API přes REST.
Uživatelsky definovaná funkce (UDF) je část aplikační logiky napsaná v JavaScriptu bez vedlejších efektů. Umožňuje vývojářům vytvořit operátor dotazu a rozšířit tak jádro dotazovacího jazyka Cosmos DB. Podobně jako uložené procedury se i funkce UDF nachází v mezích kolekce, a proto se logika aplikace omezuje na kolekci.
Podobně jako uložené procedury má prostředek UDF pevné schéma. Vlastnost body obsahuje logiku aplikace. Následující příklad znázorňuje konstruktor JSON uživatelem definované funkce.
{
"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"
}
Vlastnost | Popis |
---|---|
id | Povinná hodnota. Jedná se o uživatelskou nastavitelnou vlastnost. Jedná se o jedinečný název pro identifikaci uživatelem definované uživatelem. ID nesmí být delší než 255 znaků. |
Tělo | Povinná hodnota. Jedná se o uživatelskou nastavitelnou vlastnost. Je to tělo UDF. |
_Zbavit | Jedná se o systém vygenerovanou vlastnost. ID prostředku (_rid) je jedinečný identifikátor, který je také hierarchický podle zásobníku prostředků v modelu prostředků. Používá se interně k umístění a navigaci prostředku UDF. |
_Ts | Jedná se o systém vygenerovanou vlastnost. Určuje časové razítko poslední aktualizace prostředku. Hodnota je časové razítko. |
_Vlastní | Jedná se o systém vygenerovanou vlastnost. Jedná se o jedinečný adresovatelný identifikátor URI prostředku. |
_Etag | Jedná se o systémově vygenerovanou vlastnost, která určuje etag prostředku vyžadovanou pro optimistické řízení souběžnosti. |
Úlohy
Pomocí uživatelem definovaných funkcí můžete provádět následující akce:
Informace o tom, jak fungují UDF, včetně spouštění UDF v dotazu, najdete v tématu Programování ve službě Cosmos DB: Uložené procedury, triggery a UDF.