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 Açıklama
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 isteği üst bilgileri.

Gövde

Özellik Gerekli Tür Açıklama
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. Genel 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
_rid 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şimi ve gezintisi için dahili olarak kullanılır.
_ts Sistem tarafından oluşturulan bir özelliktir. Kaynağın son güncelleştirilmiş zaman damgasını belirtir. Değer bir zaman damgasıdır.
_self 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 etag'ini 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.