Метод deleteMultipleObjects
Удаляет объекты по списку ключей, переданному в запросе.
Выполняется быстрее, чем удаление тех же объектов по одному отдельными запросами.
Список на удаление может содержать не более 1000 ключей.
Если объекта не существует, то Object Storage в ответе отметит его как удаленный.
Ответ можно настроить так, что Object Storage выдаст одну из выборок:
- Статусы всех операций удаления.
- Только статусы с ошибкой удаления. В этом случае, если не произошло ни одной ошибки, ответ будет пустым.
Подробнее о подготовке к работе с API и общем виде запроса см. в разделе Как пользоваться S3 API.
Запрос
POST /{bucket}?delete HTTP/2
Path параметры
Параметр | Описание |
---|---|
bucket |
Имя бакета. |
Query параметры
Параметр | Описание |
---|---|
delete |
Флаг, обозначающий операцию удаления. |
Заголовки
Используйте в запросе необходимые общие заголовки.
Для данного запроса заголовки Content-MD5
и Content-Length
обязательны.
Также, если на версии объектов в версионируемом бакете установлены временные управляемые блокировки (governance-mode retention), обязательно используйте заголовок, описанный ниже, чтобы обойти блокировки и подтвердить удаление. Удалить версию объекта с блокировкой может только пользователь с ролью storage.admin
. Проверить блокировку можно с помощью метода getObjectRetention.
Заголовок | Описание |
---|---|
X-Amz-Bypass-Governance-Retention |
Заголовок, подтверждающий обход временной управляемой блокировки. Укажите значение true . |
Схема данных
Перечень ключей на удаление передается в XML формате.
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
<Quiet>true</Quiet>
<Object>
<Key>Key</Key>
</Object>
...
</Delete>
Тег | Описание |
---|---|
Delete |
Содержит тело ответа. Путь: /Delete . |
Quiet |
<Quiet>true</Quiet> устанавливает тихийрежим. Object Storage запишет в ответ только ошибки удаления. Если ошибок нет, запрос не возвращает тело ответа. Если на момент запроса указанный в нем объект не существует, вернется результат Deleted .Если не указан, то значение по умолчанию — false .Путь: /Delete/Quiet . |
Object |
Содержит параметры удаления объекта. Путь: /Delete/Object . |
Key |
Ключ объекта. Путь: /Delete/Object/Key . |
Ответ
Заголовки
Ответ может содержать только общие заголовки.
Коды ответов
Перечень возможных ответов смотрите в разделе Ответы.
Успешный ответ содержит дополнительные данные в формате XML, схема которого описана ниже.
Структура данных
<DeleteResult>
<Deleted>
<Key>some/key.txt</Key>
</Deleted>
<Error>
<Key>some/another/key.txt</Key>
<Code>TextErrorCode</Code>
<Message>Describing message</Message>
</Error>
</DeleteResult>
Тег | Описание |
---|---|
DeleteResult |
Тело ответа. Путь: /DeleteResult . |
Deleted |
Успешно удаленный объект. Отсутствует, если в запросе был выставлен <Quiet>true</Quiet> .Путь: /DeleteResult/Deleted . |
Key |
Ключ объекта. Путь: /DeleteResult/Deleted/Key или /DeleteResult/Error/Key |
Error |
Ошибка удаления объекта. Путь: /DeleteResult/Error . |
Code |
Код ошибки. Путь: /DeleteResult/Error/Code . |
Message |
Описание ошибки. Путь: /DeleteResult/Error/Message . |