Delete Multiple Objects¶
DELETE Objectでは一度に1つのオブジェクトしか削除することができませんが、この操作を使うことによって1回のリクエストで複数のオブジェクトを削除することができます。
この操作を行うには、削除するオブジェクトのオブジェクトキーのリストをXML形式でリクエストボディに指定して POST で送付します。それぞれのオブジェクトが削除されたかどうかの結果はレスポンスで確認することができます。
削除の際は、1つ1つのオブジェクトに対して権限(オブジェクトのACLおよびバケットポリシー)を評価します。権限については DELETE Object をご覧ください。
Warning
一度に削除できるオブジェクトの最大件数は1000件です。1000件を超える場合エラー(status:400 , ErrorCode:MalformedXML)を応答します。
リクエスト情報¶
シンタックス¶
POST /?delete HTTP/1.1
Host: {bucket name}.storage-dag.iijgio.com
Authorization: {authorization string}
Content-Length: {length}
Content-MD5: {MD5}
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
<Quiet>true</Quiet>
<Object>
<Key>{object key}</Key>
</Object>
<Object>
<Key>{object key}</Key>
</Object>
...
</Delete>
リクエストパラメータ¶
この操作ではリクエストパラメータを使用しません。
レスポンス情報¶
レスポンスヘッダー¶
この操作では基本レスポンスヘッダーのみ返します。
レスポンスエレメント¶
この操作では以下のレスポンスエレメントを返します。
名前 | 説明 | ||||||
---|---|---|---|---|---|---|---|
DeleteResult |
|
||||||
Deleted |
|
||||||
Key |
|
||||||
Error |
|
||||||
Code |
|
||||||
Message |
|
サンプル¶
複数のオブジェクトを削除するサンプル¶
リクエスト¶
2つのオブジェクトを削除するリクエストは以下のようになります。
POST /?delete HTTP/1.1
Host: mybucket.storage-dag.iijgio.com
Accept: */*
Date: Wed, 1 Oct 2014 00:00:00 GMT
Content-MD5: CLe6JwkZAD1ei6hp9XZIee==
Authorization: IIJGIO 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
Content-Length: 125
Connection: Keep-Alive
<Delete>
<Object>
<Key>sample1.txt</Key>
</Object>
<Object>
<Key>sample2.txt</Key>
</Object>
< /Delete>
レスポンス¶
1つは削除に成功し、もう1つのオブジェクトは削除するための権限がなくエラーになった場合のレスポンスは以下のようになります。
HTTP/1.1 200 OK
x-iijgio-id-2: eftixk72aD6Ap51TnqcoF8eFidJG9Z/2mkiDFu8yU9AS1ed4OpIszj7UDNEHGran
x-iijgio-request-id: 318BC8BC148832E5
Date: Wed, 1 Oct 2014 00:00:00 GMT
Content-Type: application/xml
Server: storage-dag.iijgio.com
Content-Length: 251
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="http://acs.dag.iijgio.com/doc/2006-03-01/">
<Deleted>
<Key>sample1.txt</Key>
</Deleted>
<Error>
<Key>sample2.txt</Key>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
</Error>
</DeleteResult>