华为云计算 云知识 批量删除对象DeleteObjects
批量删除对象DeleteObjects

 

接口说明

批量删除对象特性用于将一个桶内的部分对象一次性删除,删除后不可恢复。批量删除对象要求返回结果里包含每个对象的删除结果。OBS的批量删除对象使用同步删除对象的方式,每个对象的删除结果返回给请求用户。

批量删除对象支持两种响应方式:verbose和quiet。Verbose是指在返回响应时,不管对象是否删除成功都将删除结果包含在XML响应里;quiet是指在返回响应时,只返回删除失败的对象结果,没有返回的认为删除成功。OBS默认使用verbose模式,如果用户在请求消息体中指定quiet模式的话, 使用quiet模式。

批量删除的请求消息头中必须包含Content-MD5以及Content-Length,用以保证请求的消息体在服务端检测到网络传输如果有错,则可以检测出来。

URL
POST  https://obs.cn-north-4.myhuaweicloud.com/ 
请求参数
名称 类型 IN 必选 描述
Authorization
 
string header

请求消息中可带的签名信息。

Content-MD5
 
string header

按照RFC 1864标准计算出消息体的MD5摘要字符串,即消息体128-bit MD5值经过base64编码后得到的字符串。

Date
 
string header

请求发起端的日期和时间,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默认值:无。 条件:如果消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。

bucket_name
 
string query

请求的桶名称。

delete
 
string query

delete表示请求批量删除对象API。

Body参数
名称 类型 必选 描述
Quiet
 
boolean

用于指定使用quiet模式,只返回删除失败的对象结果;如果有此字段,则必被置为True,如果为False则被系统忽略掉。

EncodingType
 
string

用于指定待删除的对象Key和响应中的对象Key的编码类型。如果Key包含xml 1.0标准不支持的控制字符,可通过设置该元素指定对象Key的编码类型。

Object
 
Array of DeleteObject objects  
参数:
Object
名称 类型 必选 描述
Key
 
string

待删除的对象Key。如果设置了EncodingType元素,对象Key需要按照对应的编码类型进行编码。

VersionId
 
string

待删除的对象版本号。

返回参数
返回码: 200

请求成功响应消息。

名称 类型 必选 描述
Content-Length
 
string

响应消息体的字节长度。

Connection
 
string

指明与服务器的连接是长连接还是短连接。

Date
 
string

OBS系统响应的时间。

ETag
 
string

对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。如果通过多段上传对象,则无论加密方法如何,MD5会拆分ETag,此类情况ETag就不是MD5的摘要。

x-obs-id-2
 
string

帮助定位问题的特殊符号。

x-obs-request-id
 
string

由OBS创建来唯一确定本次请求的值,可以通过该值来定位问题。

名称 类型 必选 描述
EncodingType
 
string

对响应中的Key进行指定类型的编码。如果请求消息中设置了EncodingType,那响应中的Key会被编码。

Deleted
 
Array of DeleteResultDeleted objects  
Error
 
Array of DeleteResultError objects  
200 Deleted
名称 类型 必选 描述
Key
 
string

每个删除结果的对象名。

VersionId
 
string

删除对象的版本号

DeleteMarker
 
boolean

当批量删除请求访问的桶是多版本桶时,如果创建或删除一个删除标记,返回消息中该元素的值为true。

DeleteMarkerVersionId
 
boolean

请求创建或删除的删除标记版本号。

当批量删除请求访问的桶是多版本桶时,如果创建或删除一个删除标记,响应消息会返回该元素。该元素在以下两种情况中会出现:

用户发送不带版本删除请求,即请求只有对象名,无版本号。这种情况下,系统会创建一个删除标记,并在响应中返回该删除标记的版本号。 用户发送带版本删除请求,即请求同时包含对象名以及版本号,但是该版本号标识一个删除标记。这种情况下,系统会删除此删除标记,并在响应中返回该删除标记的版本号。

200 Error
名称 类型 必选 描述
Key
 
string

每个删除结果的对象名。

Code
 
string

删除失败结果的错误码。

Message
 
string

删除失败结果的错误消息。

返回码: 400

请求失败响应消息。 除了公共的错误码外,此接口还会返回一些其他的错误码。下面列出本接口的一些常见错误,以及可能原因。

错误码 描述 HTTP状态码
- 超过1000个对象。 400 Bad Request
- 对象Key不合法 400 Bad Request
- 请求消息头中不包含Content-MD5 400 Bad Request
名称 类型 必选 描述
Code
 
string

错误响应消息体XML中错误响应对应的HTTP消息返回码,具体的错误码请参见错误码-表2

Message
 
string

错误响应消息体XML中具体错误更全面、详细的英文解释,具体的错误消息请参见错误码-表2

RequestId
 
string

本次错误请求的请求ID,用于错误定位。

HostId
 
string

返回该消息的服务端ID。

Resource
 
string

该错误相关的桶或对象资源。

请求示例
示例 1
 
"/?delete"
 
"POST /test333?delete HTTP/1.1\nUser-Agent: curl/7.29.0\nHost: 127.0.0.1\nAccept: */*\nDate: WED, 01 Jul 2015 04:34:21 GMT\nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:8sjZWJlWmYmYnK5JqXaFFQ+vHEg=\nContent-MD5: ZPzz8L+hdRJ6qCqYbU/pCw==\nContent-Length: 188\n\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Delete> \n <Quiet>true</Quiet> \n <Object> \n <Key>obja02</Key> \n </Object> \n <Object> \n <Key>obja02</Key> \n </Object> \n</Delete>\n"
错误码
请参考 错误码说明

 

上一篇:智慧园区建设内容 下一篇:2分钟快速上手华为云流水线CodeArts Pipeline的创建与运行

游戏批量开服数据库解决方案

游戏批量开服数据库解决方案