deleteMultipleObjects method
Deletes objects based on a list of keys passed in a request.
It takes less time than deleting the same objects one by one via separate requests.
The delete list may contain up to 1,000 keys.
If an object does not exist, Object Storage marks it as deleted in the response.
You can configure responses so that Object Storage returns one of the following selections:
- Statuses of all delete operations.
- Only statuses with errors deleting objects. In this case, if no errors occurred, an empty response is returned.
For more information on getting started with the API and the general request format, see How to use the S3 API.
Request
POST /{bucket}?delete HTTP/2
Path parameters
Parameter | Description |
---|---|
bucket |
Bucket name. |
Query parameters
Parameter | Description |
---|---|
delete |
Flag indicating a delete operation. |
Headers
Use the appropriate common headers in your request.
For this request, the Content-MD5
and Content-Length
headers are required.
Moreover, if governance-mode retention is put on object versions in a versioned bucket, make sure to use the below-specified header to bypass retention and confirm deletion. Only users with the storage.admin
role can delete a retained object version. To check retention status, use the getObjectRetention method.
Header | Description |
---|---|
X-Amz-Bypass-Governance-Retention |
Header that confirms bypassing of the governance retention. Set it to true . |
Data schema
The list of keys to delete is passed in XML format.
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
<Quiet>true</Quiet>
<Object>
<Key>Key</Key>
</Object>
...
</Delete>
Tag | Description |
---|---|
Delete |
It contains the response body. Path: /Delete . |
Quiet |
<Quiet>true</Quiet> sets the quietmode. Object Storage will only include deletion errors in the response. If there are no errors, the query will not return the response body. If the specified object does not exist at the time of the query, Deleted will be returned.>If omitted, the default value is false .>Path: /Delete/Quiet . |
Object |
It contains object deletion parameters. Path: /Delete/Object . |
Key |
Object key. Path: /Delete/Object/Key . |
Response
Headers
Responses can only contain common response headers.
Response codes
For a list of possible responses, see Responses.
A successful response contains additional data in XML format with the schema described below.
Data structure
<DeleteResult>
<Deleted>
<Key>some/key.txt</Key>
</Deleted>
<Error>
<Key>some/another/key.txt</Key>
<Code>TextErrorCode</Code>
<Message>Describing message</Message>
</Error>
</DeleteResult>
Tag | Description |
---|---|
DeleteResult |
Response body. Path: /DeleteResult . |
Deleted |
Successfully deleted object. Missing if the request was set to <Quiet>true</Quiet> .Path: /DeleteResult/Deleted . |
Key |
Object key. Path: /DeleteResult/Deleted/Key or /DeleteResult/Error/Key . |
Error |
Object deletion error. Path: /DeleteResult/Error . |
Code |
Error code. Path: /DeleteResult/Error/Code . |
Message |
Error description. Path: /DeleteResult/Error/Message . |