Поделиться через


Создание нового разрешения в базе данных Azure Cosmos

Операция Create Permission создает новое разрешение в базе данных.

Запрос

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

Заголовки

Заголовки, используемые всеми запросами Azure Cosmos DB, см. в статье Общие заголовки REST-запросов Azure Cosmos DB.

Заголовок Обязательно Тип Описание
x-ms-documentdb-expiry-seconds Необязательный Целое число Срок действия маркера ресурсов, возвращаемого операцией. По умолчанию маркер ресурсов действителен в течение одного часа. Чтобы переопределить значение по умолчанию, задайте для этого заголовка нужный срок действия в секундах. Максимальное значение переопределения — 18000, что составляет пять часов.

Текст

Свойство Обязательно Тип Описание
идентификатор Обязательно Строка Это настраиваемое пользователем свойство. Это уникальное имя для идентификации разрешения, то есть два разрешения, принадлежащие пользователю, не могут совместно использовать один и тот же идентификатор. Длина идентификатора не должна превышать 255 символов.
permissionMode Обязательно Строка Режим доступа для ресурса: Все или Чтение. Все предоставляет доступ на чтение, запись и удаление к ресурсу. Режим Read ограничивает право доступа на чтение для ресурса.
resource Обязательно Строка Полный адресуемый путь к ресурсу, который связан с разрешением. Например, dbs/volcanodb/colls/volcano1.
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1"  
}  

Ответ

Заголовки

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

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

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

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

Текст

Свойство Описание
_Избавить Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Он используется системой для размещения и перемещения по ресурсам разрешения.
_Ts Это свойство, созданное системой. Оно представляет метку времени последнего обновления ресурса. Значение — метка времени.
_Самостоятельно Это свойство, созданное системой. Это уникальный адресуемый URI для ресурса.
_etag Это системное свойство, представляющее тег ресурса, необходимый для управления оптимистическим параллелизмом.
_Маркер Это созданный системой маркер ресурса для конкретного ресурса и пользователя.
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1",  
    "_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",  
    "_ts": 1449604760,  
    "_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",  
    "_etag": "\"00000e00-0000-0000-0000-566736980000\"",  
    "_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"  
}  
  

Пример

POST https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions HTTP/1.1  
x-ms-date: Tue, 08 Dec 2015 19:59:19 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3dwBH%2bhvVN5L4fu508ixzH%2bc7pQNfg7meU62MydCoead0%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-08-06  
Accept: application/json  
Host: contosomarketing.documents.azure.com  
Content-Length: 87  
Expect: 100-continue  
Connection: Keep-Alive  
  
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1"  
}  
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 02:25:35.212 GMT  
etag: "00000e00-0000-0000-0000-566736980000"  
x-ms-resource-quota: permissions=2000000;  
x-ms-resource-usage: permissions=1;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/volcanodb/users/a_user  
x-ms-content-path: Sl8fAG8cXgA=  
x-ms-quorum-acked-lsn: 865  
x-ms-session-token: 866  
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: 4069f7dc-3863-4ae0-8df8-828bc86d75dc  
x-ms-gatewayversion: version=1.5.57.3  
Date: Tue, 08 Dec 2015 19:59:21 GMT  
Content-Length: 579  
  
{  
    "id": "a_permission",  
    "permissionMode": "Read",  
    "resource": "dbs/volcanodb/colls/volcano1",  
    "_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",  
    "_ts": 1449604760,  
    "_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",  
    "_etag": "\"00000e00-0000-0000-0000-566736980000\"",  
    "_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"  
}  
  

См. также: