批量刪除對象特性用于將一個桶內(nèi)的部分對象一次性刪除,刪除后不可恢復(fù)。批量刪除對象要求返回結(jié)果里包含每個對象的刪除結(jié)果。OBS的批量刪除對象使用同步刪除對象的方式,每個對象的刪除結(jié)果返回給請求用戶。
批量刪除對象支持兩種響應(yīng)方式:verbose和quiet。Verbose是指在返回響應(yīng)時,不管對象是否刪除成功都將刪除結(jié)果包含在XML響應(yīng)里;quiet是指在返回響應(yīng)時,只返回刪除失敗的對象結(jié)果,沒有返回的認(rèn)為刪除成功。OBS默認(rèn)使用verbose模式,如果用戶在請求消息體中指定quiet模式的話, 使用quiet模式。
批量刪除的請求消息頭中必須包含Content-MD5以及Content-Length,用以保證請求的消息體在服務(wù)端檢測到網(wǎng)絡(luò)傳輸如果有錯,則可以檢測出來。
| 名稱 | 類型 | IN | 必選 | 描述 |
|---|---|---|---|---|
|
Authorization
|
string | header | 是 |
請求消息中可帶的簽名信息。 |
|
Content-MD5
|
string | header | 是 |
按照RFC 1864標(biāo)準(zhǔn)計算出消息體的MD5摘要字符串,即消息體128-bit MD5值經(jīng)過base64編碼后得到的字符串。 |
|
Date
|
string | header | 否 |
請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認(rèn)值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。 |
|
bucket_name
|
string | query | 是 |
請求的桶名稱。 |
|
delete
|
string | query | 是 |
delete表示請求批量刪除對象API。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Quiet
|
boolean | 否 |
用于指定使用quiet模式,只返回刪除失敗的對象結(jié)果;如果有此字段,則必被置為True,如果為False則被系統(tǒng)忽略掉。 |
|
EncodingType
|
string | 否 |
用于指定待刪除的對象Key和響應(yīng)中的對象Key的編碼類型。如果Key包含xml 1.0標(biāo)準(zhǔn)不支持的控制字符,可通過設(shè)置該元素指定對象Key的編碼類型。 |
|
Object
|
Array of DeleteObject objects | 否 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Key
|
string | 否 |
待刪除的對象Key。如果設(shè)置了EncodingType元素,對象Key需要按照對應(yīng)的編碼類型進(jìn)行編碼。 |
|
VersionId
|
string | 否 |
待刪除的對象版本號。 |
請求成功響應(yīng)消息。
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Content-Length
|
string | 否 |
響應(yīng)消息體的字節(jié)長度。 |
|
Connection
|
string | 否 |
指明與服務(wù)器的連接是長連接還是短連接。 |
|
Date
|
string | 否 |
OBS系統(tǒng)響應(yīng)的時間。 |
|
ETag
|
string | 否 |
對象的base64編碼的128位MD5摘要。ETag是對象內(nèi)容的唯一標(biāo)識,可以通過該值識別對象內(nèi)容是否有變化。比如上傳對象時ETag為A,下載對象時ETag為B,則說明對象內(nèi)容發(fā)生了變化。實際的ETag是對象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對象或拷貝操作創(chuàng)建的對象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對象,則無論加密方法如何,MD5會拆分ETag,此類情況ETag就不是MD5的摘要。 |
|
x-obs-id-2
|
string | 否 |
幫助定位問題的特殊符號。 |
|
x-obs-request-id
|
string | 否 |
由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
EncodingType
|
string | 否 |
對響應(yīng)中的Key進(jìn)行指定類型的編碼。如果請求消息中設(shè)置了EncodingType,那響應(yīng)中的Key會被編碼。 |
|
Deleted
|
Array of DeleteResultDeleted objects | 否 | |
|
Error
|
Array of DeleteResultError objects | 否 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Key
|
string | 否 |
每個刪除結(jié)果的對象名。 |
|
VersionId
|
string | 否 |
刪除對象的版本號 |
|
DeleteMarker
|
boolean | 否 |
當(dāng)批量刪除請求訪問的桶是多版本桶時,如果創(chuàng)建或刪除一個刪除標(biāo)記,返回消息中該元素的值為true。 |
|
DeleteMarkerVersionId
|
boolean | 否 |
請求創(chuàng)建或刪除的刪除標(biāo)記版本號。 當(dāng)批量刪除請求訪問的桶是多版本桶時,如果創(chuàng)建或刪除一個刪除標(biāo)記,響應(yīng)消息會返回該元素。該元素在以下兩種情況中會出現(xiàn): 用戶發(fā)送不帶版本刪除請求,即請求只有對象名,無版本號。這種情況下,系統(tǒng)會創(chuàng)建一個刪除標(biāo)記,并在響應(yīng)中返回該刪除標(biāo)記的版本號。 用戶發(fā)送帶版本刪除請求,即請求同時包含對象名以及版本號,但是該版本號標(biāo)識一個刪除標(biāo)記。這種情況下,系統(tǒng)會刪除此刪除標(biāo)記,并在響應(yīng)中返回該刪除標(biāo)記的版本號。 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Key
|
string | 否 |
每個刪除結(jié)果的對象名。 |
|
Code
|
string | 否 |
刪除失敗結(jié)果的錯誤碼。 |
|
Message
|
string | 否 |
刪除失敗結(jié)果的錯誤消息。 |
請求失敗響應(yīng)消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。
| 錯誤碼 | 描述 | HTTP狀態(tài)碼 |
|---|---|---|
| - | 超過1000個對象。 | 400 Bad Request |
| - | 對象Key不合法 | 400 Bad Request |
| - | 請求消息頭中不包含Content-MD5 | 400 Bad Request |
