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.

Viz také