Kullanıcı Tanımlı İşlev Oluşturma

İşlem, Create User Defined Function bir koleksiyonda yeni bir saklı yordam oluşturur.

İstek

Yöntem İstek URI'si Description
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/udfs {databaseaccount}, aboneliğiniz altında oluşturulan Azure Cosmos DB hesabının adıdır. {db-id} değeri, veritabanının sistem tarafından oluşturulan kimliği (rid) değil, UDF'nin oluşturulduğu veritabanının kullanıcı tarafından oluşturulan adı/kimliğidir. {coll-id} değeri, UDF'nin oluşturulduğu koleksiyonun adıdır.

Üst Bilgiler

Tüm Azure Cosmos DB istekleri tarafından kullanılan üst bilgiler için bkz. Yaygın Azure Cosmos DB REST istek üst bilgileri.

Gövde

Özellik Gerekli Tür Description
id Gerekli Dize UDF'yi tanımlamak için benzersiz bir addır. Kimlik 255 karakteri aşmamalıdır.
Vücut Gerekli Dize UDF'nin gövdesidir.
{  
    "body": "function tax(income) {\r\n    if(income == undefined) \r\n        throw 'no input';\r\n    if (income < 1000) \r\n        return income * 0.1;\r\n    else if (income < 10000) \r\n        return income * 0.2;\r\n    else\r\n        return income * 0.4;\r\n}",  
    "id": "simpleTaxUDF"  
}  
  

Yanıt

Üst Bilgiler

Tüm Azure Cosmos DB yanıtları tarafından döndürülen üst bilgiler için bkz. Yaygın Azure Cosmos DB REST yanıt üst bilgileri.

Durum kodları

Aşağıdaki tabloda bu işlem tarafından döndürülen genel durum kodları listelenmektedir. Durum kodlarının tam listesi için bkz. HTTP Durum Kodları.

HTTP durum kodu Açıklama
201 Oluşturuldu İşlem başarılı oldu.
400 Hatalı İstek JSON gövdesi geçersiz. Eksik küme ayraçlarını veya tırnakları denetleyin.
409 Çakışma Yeni UDF için sağlanan kimlik mevcut bir UDF tarafından alınmıştır.

Gövde

Özellik Açıklama
_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.
{  
    "body": "function tax(income) {\r\n    if(income == undefined) \r\n        throw 'no input';\r\n    if (income < 1000) \r\n        return income * 0.1;\r\n    else if (income < 10000) \r\n        return income * 0.2;\r\n    else\r\n        return income * 0.4;\r\n}",  
    "id": "simpleTaxUDF",  
    "_rid": "Sl8fALN4sw4BAAAAAAAAYA==",  
    "_ts": 1449687949,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",  
    "_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""  
}  
  

Örnek

POST https://contosomarketing.documents.azure.com/dbs/volcanodb/colls/volcano1/udfs HTTP/1.1  
x-ms-session-token: 37  
x-ms-date: Wed, 09 Dec 2015 19:05:49 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3d6OaA6qWdazmZ%2fp5LjSROiDEjquzF5a9YIPFRqLQEenM%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-08-06  
Accept: application/json  
Host: contosomarketing.documents.azure.com  
Cookie: x-ms-session-token=37  
Content-Length: 287  
Expect: 100-continue  
Connection: Keep-Alive  
  
{  
    "body": "function tax(income) {\r\n    if(income == undefined) \r\n        throw 'no input';\r\n    if (income < 1000) \r\n        return income * 0.1;\r\n    else if (income < 10000) \r\n        return income * 0.2;\r\n    else\r\n        return income * 0.4;\r\n}",  
    "id": "simpleTaxUDF"  
}  
  
HTTP/1.1 201 Created  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 29 Nov 2015 19:20:18.154 GMT  
etag: "06003ee4-0000-0000-0000-56687b8d0000"  
x-ms-resource-quota: functions=25;  
x-ms-resource-usage: functions=1;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/volcanodb/colls/volcano1  
x-ms-content-path: Sl8fALN4sw4=  
x-ms-quorum-acked-lsn: 37  
x-ms-session-token: 38  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 4.95  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: 2fdee379-7044-4275-a655-5367bf0a3798  
x-ms-gatewayversion: version=1.5.57.3  
Date: Wed, 09 Dec 2015 19:05:51 GMT  
Content-Length: 468  
  
{  
    "body": "function tax(income) {\r\n    if(income == undefined) \r\n        throw 'no input';\r\n    if (income < 1000) \r\n        return income * 0.1;\r\n    else if (income < 10000) \r\n        return income * 0.2;\r\n    else\r\n        return income * 0.4;\r\n}",  
    "id": "simpleTaxUDF",  
    "_rid": "Sl8fALN4sw4BAAAAAAAAYA==",  
    "_ts": 1449687949,  
    "_self": "dbs\/Sl8fAA==\/colls\/Sl8fALN4sw4=\/udfs\/Sl8fALN4sw4BAAAAAAAAYA==\/",  
    "_etag": "\"06003ee4-0000-0000-0000-56687b8d0000\""  
}  
  

Ayrıca Bkz.