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.

Ayrıca Bkz.