Создание определяемой пользователем функции

Операция Create User Defined Function создает новую хранимую процедуру в коллекции.

Запрос

Метод Универсальный код ресурса (URI) запроса Описание
POST https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/udfs {databaseaccount} — это имя учетной записи базы данных Azure Cosmos, созданной в вашей подписке. Значение {db-id} — это созданное пользователем имя или идентификатор базы данных, в которой создается определяемая пользователем функция, а не системный идентификатор (rid) базы данных. Значение {coll-id} — это имя коллекции, в которой создается определяемая пользователем функция.

Заголовки

Ознакомьтесь с общими заголовками запросов REST базы данных Azure Cosmos DB для заголовков, которые используются всеми запросами Базы данных Cosmos Azure.

Текст

Свойство Обязательно Тип Описание
идентификатор Обязательно Строка Уникальное имя для идентификации определяемой пользователем функции. Идентификатор не должен превышать 255 символов.
body Обязательно Строка Это тело определяемой пользователем функции.
{  
    "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"  
}  
  

Ответ

Заголовки

Ознакомьтесь с общими заголовками ответов REST базы данных Azure Cosmos DB для заголовков, возвращаемых всеми ответами базы данных Cosmos Azure.

Коды состояния

В таблице ниже указаны стандартные коды состояния, возвращаемые этой операцией. Полный список кодов состояния см. в разделе "Коды состояния HTTP".

HTTP status code (Код состояния HTTP) Описание
201 Создано Операция выполнена успешно.
400 — недопустимый запрос Недопустимый текст JSON. Проверьте наличие фигурных скобок и кавычек.
409. Конфликт Идентификатор, предоставленный для новой определяемой пользователем функции, был взят существующей определяемой пользователем функцией.

Текст

Свойство Описание
_rid Это системное созданное свойство. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Используется внутри системы для расположения и навигации к ресурсу определяемой пользователем функции.
_ts Это системное созданное свойство. Оно представляет метку времени последнего обновления ресурса. Значение — метка времени.
_self Это системное созданное свойство. Это уникальный адресуемый URI для ресурса.
_etag Это системное свойство, указывающее тег ресурса, необходимый для управления оптимистическим параллелизмом.
{  
    "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\""  
}  
  

Пример

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\""  
}  
  

См. также: