Kullanıcı Tanımlı İşlevler
Azure Cosmos DB , belge, grafik ve anahtar-değer veri modellerini destekleyen genel olarak dağıtılmış çok modelli bir veritabanıdır. Bu bölümdeki içerik, REST aracılığıyla SQL API'sini kullanarak kullanıcı tanımlı işlev kaynaklarını (udfs) yönetmeye yöneliktir.
Kullanıcı tanımlı işlev (UDF), JavaScript ile yazılmış bir yan etkisi olmayan uygulama mantığıdır. Geliştiricilerin sorgu işleci oluşturmasına olanak sağlayarak Cosmos DB sorgu dilinin çekirdeğini genişletir. Saklı yordamlar gibi UDF'ler de bir koleksiyonun sınırları içinde yaşar ve bu nedenle uygulama mantığına koleksiyona el konur.
Saklı yordamlara benzer şekilde UDF kaynağının da sabit bir şeması vardır. Body özelliği uygulama mantığını içerir. Aşağıdaki örnekte kullanıcı tanımlı bir işlevin JSON yapısı gösterilmektedir.
{
"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"
}
Özellik | Açıklama |
---|---|
id | Gereklidir. Bu bir kullanıcı ayarlanabilir özelliğidir. UDF'yi tanımlamak için benzersiz bir addır. Kimlik 255 karakteri aşmamalıdır. |
Vücut | Gereklidir. Bu bir kullanıcı ayarlanabilir özelliğidir. UDF'nin gövdesidir. |
_Kurtulmak | Sistem tarafından oluşturulan bir özelliktir. Kaynak kimliği (_rid), kaynak modelinde kaynak yığını başına da hiyerarşik olan benzersiz bir tanımlayıcıdır. UDF kaynağının yerleştirilmesi ve gezinmesi için dahili olarak kullanılır. |
_Ts | Sistem tarafından oluşturulan bir özelliktir. Kaynağın son güncelleştirilen zaman damgasını belirtir. Değer bir zaman damgasıdır. |
_Kendini | Sistem tarafından oluşturulan bir özelliktir. Kaynak için benzersiz adreslenebilir URI'dir. |
_Etag | İyimser eşzamanlılık denetimi için gereken kaynak etiketini belirten sistem tarafından oluşturulan bir özelliktir. |
Görevler
Kullanıcı tanımlı işlevlerle aşağıdakileri yapabilirsiniz:
Sorguda UDF yürütme de dahil olmak üzere UDF'lerin nasıl çalıştığı hakkında bilgi için bkz . Cosmos DB programlaması: Saklı yordamlar, tetikleyiciler ve UDF'ler.