Felhasználó által definiált függvények
Az Azure Cosmos DB egy globálisan elosztott többmodelles adatbázis, amely támogatja a dokumentum-, gráf- és kulcs-érték adatmodelleket. Ez a szakasz a felhasználó által definiált függvényerőforrások (udfs) REST-en keresztüli SQL API-val történő kezelésére használható.
A felhasználó által definiált függvény (UDF) egy JavaScriptben írt, mellékhatásmentes alkalmazáslogika. Lehetővé teszi, hogy a fejlesztők létrehoznak egy lekérdezési operátort, így bővítve a Cosmos DB lekérdezési nyelvének magját. A tárolt eljárásokhoz hasonlóan az UDF-ek is egy gyűjtemény határain belül élnek, így az alkalmazáslogikát a gyűjteményre ruházták.
A tárolt eljárásokhoz hasonlóan az UDF-erőforrás rögzített sémával rendelkezik. A body tulajdonság tartalmazza az alkalmazás logikáját. Az alábbi példa egy felhasználó által definiált függvény JSON-szerkezetét szemlélteti.
{
"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"
}
Tulajdonság | Leírás |
---|---|
id | Kötelező. Ez egy felhasználó által beállított tábla tulajdonság. Ez egy egyedi név az UDF azonosításához. Az azonosító nem haladhatja meg a 255 karaktert. |
Szervezet | Kötelező. Ez egy felhasználó által beállított tábla tulajdonság. Ez az UDF törzse. |
_Megszabadulni | Ez egy rendszer által létrehozott tulajdonság. Az erőforrás-azonosító (_rid) egy egyedi azonosító, amely szintén hierarchikus az erőforrásmodell erőforrás-vermében. Belsőleg használják az UDF-erőforrás elhelyezésére és navigációjára. |
_Ts | Ez egy rendszer által létrehozott tulajdonság. Meghatározza az erőforrás utolsó frissített időbélyegét. Az érték egy időbélyeg. |
_Önálló | Ez egy rendszer által létrehozott tulajdonság. Ez az erőforrás egyedi címezhető URI-ja. |
_Etag | Ez egy rendszer által létrehozott tulajdonság, amely meghatározza az optimista egyidejűség-vezérléshez szükséges erőforrás-etaget. |
Feladatok
A felhasználó által definiált függvényekkel a következőket teheti:
Az UDF-ek működéséről, beleértve az UDF-ek lekérdezésben való végrehajtását is, tekintse meg a Cosmos DB programozása: Tárolt eljárások, eseményindítók és UDF-ek című témakört.