Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Выполнив операцию PUT в определенном ресурсе разрешений, можно заменить весь ресурс пользователя. Чтобы выполнить замену, в текст запроса необходимо добавить все свойства, настраиваемые пользователем, — id, permissionMode и resource. Несмотря на то, что в тексте запроса должны быть добавлены все настраиваемые свойства, не все свойства повлекут изменения. После успешной замены разрешения создается маркер ресурса. Срок действия нового маркера ресурса истекает через час, который является периодом по умолчанию, если он не переопределен с помощью заголовка x-ms-documentdb-expiry-seconds .
Запрос
| Метод | Универсальный код ресурса (URI) запроса | Описание |
|---|---|---|
| PUT | https://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{имя_пользователя}/permissions/{permission-name} | Обратите внимание, что {databaseaccount} — это имя учетной записи Azure Cosmos DB, созданной в рамках вашей подписки. Значение {db-id} — это созданное пользователем имя/идентификатор базы данных, а не системный идентификатор (rid). Значение {user-name} — это имя пользователя. Значение {permission-name} — это имя заменяемого разрешения. |
Заголовки
Заголовки, используемые всеми запросами Cosmos DB, см. в статье Общие заголовки запросов REST Azure Cosmos DB .
| Заголовок | Обязательно | Тип | Описание |
|---|---|---|---|
| x-ms-documentdb-expiry-seconds | Необязательный | Целое число | Срок действия маркера ресурсов, возвращаемого операцией. По умолчанию маркер ресурсов действителен в течение одного часа. Чтобы переопределить значение по умолчанию, задайте для этого заголовка нужный срок действия в секундах. Максимальное значение переопределения — 18000, что составляет пять часов. |
Текст
| Свойство | Обязательно | Описание |
|---|---|---|
| идентификатор | Обязательно | Это уникальное имя, которое идентифицирует разрешение, т. е. ни одно из двух разрешений, принадлежащих пользователю, не может совместно использовать один и тот же идентификатор. Длина идентификатора не должна превышать 255 символов. |
| permissionMode | Обязательно | Режим доступа к ресурсу для пользователя: Все или Чтение. Все предоставляет доступ на чтение, запись и удаление к ресурсу. Режим Read ограничивает право доступа на чтение для ресурса. |
| resource | Обязательно | Полный адресуемый путь к ресурсу, который связан с разрешением. Например, dbs/volcanodb/colls/volcano1. |
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1"
}
Ответ
Заголовки
Заголовки, возвращаемые всеми ответами Cosmos DB, см. в статье Общие заголовки ответов REST Azure Cosmos DB .
Коды состояния
В таблице ниже указаны стандартные коды состояния, возвращаемые этой операцией. Полный список кодов состояния см. в разделе Коды состояния HTTP.
| Код состояния HTTP | Описание |
|---|---|
| 200 (ОК) | Операция замены прошла успешно. |
| 400 — недопустимый запрос | Недопустимый текст JSON. Проверьте наличие фигурных скобок и кавычек. Кроме того, код 400 возвращается, если текст запроса не содержит хотя бы одно из задаваемых свойств. Убедитесь, что включены все три настраиваемых свойства. |
| 404 — не найдено | Пользователь, который требуется заменить, больше не является ресурсом, то есть разрешение было удалено. |
| 409. Конфликт | Идентификатор, предоставленный для разрешения, был взят существующим разрешением. Код 409 также возвращается, если новое разрешение уже назначено для другого разрешения пользователя. |
Текст
| Свойство | Описание |
|---|---|
| _Избавить | Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Он используется системой для размещения и перемещения по ресурсам разрешения. |
| _Ts | Это свойство, созданное системой. Оно представляет метку времени последнего обновления ресурса. Значение — метка времени. |
| _Самостоятельно | Это свойство, созданное системой. Это уникальный адресуемый URI для ресурса. |
| _etag | Это созданное системой свойство, представляющее тег ресурса, необходимый для управления оптимистическим параллелизмом. |
| _Маркер | Это созданный системой маркер ресурса для конкретного ресурса и пользователя. |
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449605172,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000f00-0000-0000-0000-566738340000\"",
"_token": "type=resource&ver=1&sig=liT1vyY6rvPBZXRuXNluPA==;A4zwoVw1GcQUSF3N2d1D5J1s3DhN0547KlhdYkkfT5UzGWecIDJf+LInlbYjqgZKwHKrFfeHLJWq0OFfH9KUOaeMCkPPlu8yKNM098las28ClqVNwmi9Ir\/jC3UVFU\/yFQl4z4wiMxxbrCkpnA\/ZsKqmxZ1LAosimPgF4zKvC9isWjgmB1N8+X9pH49wDg62tGkHF0HoSu+KpF7bkjP4VpHfo9u9jV86l7brrOvUYyE=;"
}
Пример
PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions/a_permission HTTP/1.1
x-ms-date: Tue, 08 Dec 2015 20:06:11 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3d8PTpiHHJvUq7ra07iWGYpiLJ%2fMyglgJZxfyGKHWjbaQ%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=866
Content-Length: 554
Expect: 100-continue
Connection: Keep-Alive
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449604760,
"_self": "dbs/volcanodb/users/a_user/permissions/a_permission",
"_etag": "\"00000e00-0000-0000-0000-566736980000\"",
"_token": "type=resource&ver=1&sig=zv2AYJFeWMhks0Ezv2WVKQ==;x2fUwajIajvwi+vfQ6GHmf82HTK4qppkhRHMk1Nx8ei0g8zuxIBQ6cyu0d3hOV06fC/PdyIj2/bmNCwpfkxFI++QI1eVPP0/tGTQuMPyqNVCCM5t8KFx6rVNUReBHlWNp0y8iAZ3pRvA2Wl6uaE0K7tFQKmPKqUbumYbOMWKk1kDCfCeCF0Qkt7RYUXlmvawFNoYnVRN/mgnpzX23vW63mU/GoeRXnMOI1HXcdrnf4M=;"
}
HTTP/1.1 200 Ok
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions/a_permission
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: "00000f00-0000-0000-0000-566738340000"
x-ms-resource-quota: permissions=2000000;
x-ms-resource-usage: permissions=2;
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: 866
x-ms-session-token: 867
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 9.9
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 4b91c955-ebd4-4059-a58e-91c99226f225
Set-Cookie: x-ms-session-token=867; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/users/a_user
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 20:06:10 GMT
Content-Length: 581
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449605172,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000f00-0000-0000-0000-566738340000\"",
"_token": "type=resource&ver=1&sig=liT1vyY6rvPBZXRuXNluPA==;A4zwoVw1GcQUSF3N2d1D5J1s3DhN0547KlhdYkkfT5UzGWecIDJf+LInlbYjqgZKwHKrFfeHLJWq0OFfH9KUOaeMCkPPlu8yKNM098las28ClqVNwmi9Ir\/jC3UVFU\/yFQl4z4wiMxxbrCkpnA\/ZsKqmxZ1LAosimPgF4zKvC9isWjgmB1N8+X9pH49wDg62tGkHF0HoSu+KpF7bkjP4VpHfo9u9jV86l7brrOvUYyE=;"
}