Метод putObjectRetention
Устанавливает на версию объекта временную блокировку либо настраивает или снимает уже установленную блокировку.
Чтобы на версии объектов можно было устанавливать блокировки, в бакете должен быть включен механизм блокировок. Включить его можно с помощью метода putObjectLockConfiguration.
Изменить установленную блокировку может только пользователь с ролью storage.admin. При изменении управляемой блокировки нужно использовать заголовок, подтверждающий обход блокировки (см. ниже). Строгую блокировку можно только продлить. Проверить блокировку можно с помощью метода getObjectRetention.
Подробнее о подготовке к работе с API и общем виде запроса см. в разделе Как пользоваться S3 API.
Запрос
PUT /{bucket}/{key}?retention&versionId={versionId} HTTP/2
Path-параметры
| Параметр | Описание |
|---|---|
bucket |
Имя бакета. |
key |
Ключ объекта. |
Query-параметры
| Параметр | Описание |
|---|---|
retention |
Обязательный параметр для обозначения типа операции. |
versionId |
Идентификатор версии объекта. Обязательный параметр. |
Заголовки
Используйте в запросе необходимые общие заголовки.
Также, если на версию объекта установлена временная управляемая блокировка (governance-mode retention), обязательно используйте заголовок, описанный ниже, чтобы обойти блокировку и подтвердить ее изменение.
| Заголовок | Описание |
|---|---|
X-Amz-Bypass-Governance-Retention |
Заголовок, подтверждающий обход временной управляемой блокировки. Укажите значение true. |
Схема данных
<ListBucketResult
xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<KeyCount>1</KeyCount>
<Name>my-sample-bucket</Name>
<Prefix></Prefix>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>text.txt</Key>
<LastModified>2025-05-15T07:23:08.030Z</LastModified>
<Owner>
<ID>ajegtlf2q28a********</ID>
<DisplayName>ajegtlf2q28a********</DisplayName>
</Owner>
<ETag>"f75a361db63aa4722fb8e083********"</ETag>
<Size>103</Size>
<StorageClass>STANDARD</StorageClass>
<TagSet></TagSet>
</Contents>
</ListBucketResult>
| Элемент | Описание |
|---|---|
Retention |
Корневой элемент с настройками блокировки. Чтобы снять управляемую блокировку (если у вас есть роль Путь: |
Mode |
Тип блокировки:
Путь: |
RetainUntilDate |
Дата и время окончания блокировки в формате RFC3339 Путь: |
Ответ
Заголовки
Ответ может содержать только общие заголовки.
Коды ответов
Перечень возможных ответов смотрите в разделе Ответы.