Выполнив операцию PUT в определенном ресурсе разрешений, можно заменить весь ресурс пользователя. Чтобы выполнить замену, в текст запроса необходимо добавить все свойства, настраиваемые пользователем, — id, permissionMode и resource. Несмотря на то, что в тексте запроса должны быть добавлены все настраиваемые свойства, не все свойства повлекут изменения. После успешной замены разрешения создается маркер ресурса. Срок действия нового маркера ресурса истекает через час, который является периодом по умолчанию, если он не переопределен с помощью заголовка x-ms-documentdb-expiry-seconds .
Обратите внимание, что {databaseaccount} — это имя учетной записи Azure Cosmos DB, созданной в рамках вашей подписки. Значение {db-id} — это созданное пользователем имя/идентификатор базы данных, а не системный идентификатор (rid). Значение {user-name} — это имя пользователя. Значение {permission-name} — это имя заменяемого разрешения.
Срок действия маркера ресурсов, возвращаемого операцией. По умолчанию маркер ресурсов действителен в течение одного часа. Чтобы переопределить значение по умолчанию, задайте для этого заголовка нужный срок действия в секундах. Максимальное значение переопределения — 18000, что составляет пять часов.
Текст
Свойство
Обязательно
Описание
идентификатор
Обязательно
Это уникальное имя, которое идентифицирует разрешение, т. е. ни одно из двух разрешений, принадлежащих пользователю, не может совместно использовать один и тот же идентификатор. Длина идентификатора не должна превышать 255 символов.
permissionMode
Обязательно
Режим доступа к ресурсу для пользователя: Все или Чтение.
Все предоставляет доступ на чтение, запись и удаление к ресурсу. Режим Read ограничивает право доступа на чтение для ресурса.
resource
Обязательно
Полный адресуемый путь к ресурсу, который связан с разрешением. Например, dbs/volcanodb/colls/volcano1.
В таблице ниже указаны стандартные коды состояния, возвращаемые этой операцией. Полный список кодов состояния см. в разделе Коды состояния HTTP.
Код состояния HTTP
Описание
200 (ОК)
Операция замены прошла успешно.
400 — недопустимый запрос
Недопустимый текст JSON. Проверьте наличие фигурных скобок и кавычек. Кроме того, код 400 возвращается, если текст запроса не содержит хотя бы одно из задаваемых свойств. Убедитесь, что включены все три настраиваемых свойства.
404 — не найдено
Пользователь, который требуется заменить, больше не является ресурсом, то есть разрешение было удалено.
409. Конфликт
Идентификатор, предоставленный для разрешения, был взят существующим разрешением. Код 409 также возвращается, если новое разрешение уже назначено для другого разрешения пользователя.
Текст
Свойство
Описание
_Избавить
Это свойство, созданное системой. Идентификатор ресурса (_rid) — это уникальный идентификатор, который также является иерархическим для стека ресурсов в модели ресурсов. Он используется системой для размещения и перемещения по ресурсам разрешения.
_Ts
Это свойство, созданное системой. Оно представляет метку времени последнего обновления ресурса. Значение — метка времени.
_Самостоятельно
Это свойство, созданное системой. Это уникальный адресуемый URI для ресурса.
_etag
Это созданное системой свойство, представляющее тег ресурса, необходимый для управления оптимистическим параллелизмом.
_Маркер
Это созданный системой маркер ресурса для конкретного ресурса и пользователя.