Delete Multiple Objects
DELETE Object では一度に1つのオブジェクトしか削除することができませんが、この操作を使うことによって1回のリクエストで複数のオブジェクトを削除することができます。
この操作を行うには、削除するオブジェクトのオブジェクトキーのリストをXML形式でリクエストボディに指定して POST で送付します。それぞれのオブジェクトが削除されたかどうかの結果はレスポンスで確認することができます。
削除の際は、1つ1つのオブジェクトに対して権限(オブジェクトのACLおよびバケットポリシー)を評価します。権限については DELETE Object をご覧ください。
リクエスト情報
シンタックス
POST /{bucket name}?delete HTTP/1.1 Host: s3api.iot.iij.jp 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>
リクエストパラメータ
この操作ではリクエストパラメータは使用しません。
リクエストヘッダー
この操作では基本リクエストヘッダーに加え、以下のヘッダーを使用します。
HTTPヘッダー | 説明 | 必須 |
---|---|---|
Content-MD5 | Base64でエンコードされたRFC 1864に準拠した128ビットMD5のダイジェストメッセージ(ヘッダーは含みません)
| ○ |
Content-Length | RFC 2616に準拠したリクエストボディのサイズ
| ○ |
リクエストエレメント
この操作では以下のリクエストエレメントを使用します。
名前 | 説明 | 必須 |
---|---|---|
Delete | リクエストのルート要素となるコンテナ
| ○ |
Quiet | Quietモード(出力を抑止するモード)を有効にする
| × |
Object | 削除するオブジェクト情報が含まれるコンテナ
| ○ |
Key | 削除するオブジェクトのオブジェクトキー
| ○ |
レスポンス情報
レスポンスヘッダー
この操作では基本レスポンスヘッダーを返します。
レスポンスエレメント
この操作では以下のレスポンスエレメントを返します。
名前 | 説明 |
---|---|
DeleteResult | レスポンスのルート要素となるコンテナ
|
Deleted | 削除に成功したオブジェクト情報を含むコンテナ
|
Key | 削除操作を行ったオブジェクトのオブジェクトキー
|
Error | 削除に失敗したオブジェクトの情報とエラー情報を含むコンテナ
|
Code | オブジェクト削除失敗時のエラーコード
|
Message | オブジェクト削除失敗時のエラーメッセージ
|
サンプル
複数のオブジェクトを削除するサンプル
リクエスト
POST /mybucket?delete HTTP/1.1 Host: s3api.iot.iij.jp 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: s3api.iot.iij.jp 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>