Delete Multiple Objects
更新時間 2024-10-09 18:28:33
最近更新時間: 2024-10-09 18:28:33
分享文章
本節主要介紹Delete Multiple Objects。
批量刪除Object功能支持用一個HTTP請求刪除一個Bucket中的多個Object。如果你知道你想刪除的Object名字,此功能可以批量刪除這些Object,而不用發送多個單獨的刪除請求。
批量刪除請求包含一個不超過1000個Object的XML列表。在這個xml中,需要指定要刪除的object的名字。對于每個Object,OOS都會返回刪除的結果,成功或者失敗。注意,如果請求中的Object不存在,那么OOS也會返回刪除成功。
批量刪除功能支持兩種格式的響應,全面信息和簡明信息。默認情況下,OOS在響應中會顯示全面信息,即包含每個Object的刪除結果。在簡明信息模式下,OOS只返回刪除出錯的object的結果。對于成功刪除的Object,在響應中將不返回任何信息。
最后,批量刪除功能必須使用Content-MD5請求頭,OOS使用此頭來保證請求體在傳輸過程中沒有被修改。
請求語法
POST /?delete HTTP/1.1
Host: BucketName.oos-cn.ctyunapi.cn
Content-Length: Size
Content-MD5: MD5
Date: Date
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<Delete>
<Quiet>true</Quiet>
<Object>
<Key>Key</Key>
</Object>
<Object>
<Key>Key</Key>
</Object>
...
</Delete>
請求頭
| 名稱 | 描述 | 是否必須 |
|---|---|---|
| Content-MD5 | Base64編碼,128位的MD5,這個請求頭必須被使用,以保證數據在傳輸過程中沒有被篡改。參考RFC1864。 類型:字符串。 |
是 |
| Content-Length | 請求體的長度。 類型:字符串。 取值:大于等于0,小于等于210241024的整數。 |
是 |
請求參數
名稱 描述 是否必須 Delete 包含整個請求的容器。
類型:容器。
子節點:Quiet、Object。
是 Quiet 使用簡明信息模式來返回響應。
類型:Boolean。
取值:
true:使用簡明信息模式返回響應。
false:采用詳細信息模式返回響應。
默認值為false。
父節點:Delete。
否 Object 包含被刪除object的容器。
類型:容器。
父節點:Delete。
子節點:Key。
是 Key 被刪除object名。
類型:字符串。
父節點:Object。
是
響應結果
| 名稱 | 描述 |
|---|---|
| DeleteResult | 包含整個響應的容器。 類型:容器。 子節點:Deleted、Error。 |
| Deleted | 成功刪除的容器,包含成功刪除的object。 類型:容器。 父節點:DeleteResult。 |
| Key | 嘗試刪除的object名。 類型:字符串。 父節點:Deleted或 Error。 |
| Error | 刪除失敗的容器,包含刪除失敗的object信息。 類型:容器。 父節點:DeleteResult。 子節點:Key、Code、Message。 |
| Code | 刪除失敗的狀態碼:AccessDenied、InternalError。 類型:字符串。 父節點:Error。 |
| Message | 錯誤的描述。 類型:字符串。 父節點:Error。 |
請求示例
下面的請求批量刪除一些object,有些刪除成功,有些失敗(例如沒有權限刪除)。
POST /?delete HTTP/1.1
Host: example-bucket.oos-cn.ctyunapi.cn
Date: Mon, 11 Apr 2011 20:34:56 GMT
Content-MD5: p5/WA/oEr30qrEEl21PAqw==
Authorization: SignatureValue
Content-Length: 125
Connection: Keep-Alive
<Delete>
<Object>
<Key>sample1.txt</Key>
</Object>
<Object>
<Key>sample2.txt</Key>
</Object>
</Delete>
響應示例
HTTP/1.1 200 OK
x-amz-request-id: 39b231ac529a49594cbfb2c1b6c3c5cb8a8c9580828486888a
Date: Mon, 11 Apr 2011 20:34:56 GMT
Server: CTYUN
Content-Length: 251
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="//s3.amazonaws.com/doc/2006-03-01/">
<Deleted>
<Key>sample1.txt</Key>
</Deleted>
<Error>
<Key>sample2.txt</Key>
<Code>AccessDenied</Code>
<Message>AccessDenied</Message>
</Error>
</DeleteResult>