华为云计算 云知识 列举桶内对象(多版本)ListVersions
列举桶内对象(多版本)ListVersions

 

接口说明

对桶拥有读权限的用户可以执行获取桶内多版本对象列表的操作。

如果用户在请求的URI里只指定了桶名,即GET /BucketName,则返回信息中会包含桶内部分或所有对象的描述信息(一次最多返回1000个对象信息);如果用户还指定了prefix、marker、max-keys、delimiter参数中的一个或多个,则返回的对象列表将按照如表1所示规定的语义返回指定的对象。

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

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

Date
 
string header

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

bucket_name
 
string query

请求的桶名称。

versions
 
string query

versions表示请求列举桶内对象(多版本)api。

prefix
 
string query

列举以指定的字符串prefix开头的对象。

marker
 
string query

列举桶内对象列表时,指定一个标识符,从该标识符以后按字典顺序返回对象列表。

max-keys
 
integer query

指定返回的最大对象数,返回的对象列表将是按照字典顺序的最多前max-keys个对象,范围是[1,1000],超出范围时,按照默认的1000进行处理。

delimiter
 
string query

将对象名进行分组的分隔符。如果指定了prefix,从prefix到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes;如果没有指定prefix,从对象名的首字符到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes。

例如,桶中有3个对象,分别为abcd、abcde、bbcde。如果指定delimiter为d,prefix为a,abcd、abcde会被分成一组,形成一条前缀为abcd的CommonPrefixes;如果只指定delimiter为d,abcd、abcde会被分成一组,形成一条前缀为abcd的CommonPrefixes,而bbcde会被单独分成一组,形成一条前缀为bbcd的CommonPrefixes。

key-marker
 
string query

列举对象时的起始位置。 有效值:上次请求返回体的NextKeyMarker值

version-id-marker
 
string query

本参数只适用于多版本例举场景

与请求中的key-marker配合使用,返回的对象列表将是按照字典顺序排序后在该标识符以后的对象(单次返回最大为1000个)。如果version-id-marker不是key-marker对应的一个版本号,则该参数无效。

有效值:对象的版本号,即上次请求返回体的NextVersionIdMarker值

encoding-type
 
string query

对响应中的部分元素进行指定类型的编码。如果Delimiter、Marker(或KeyMarker)、Prefix、NextMarker(或NextKeyMarker)和Key包含xml 1.0标准不支持的控制字符,可通过设置encoding-type对响应中的Delimiter、Marker(或KeyMarker)、Prefix(包括CommonPrefixes中的Prefix)、NextMarker(或NextKeyMarker)和Key进行编码。

可选值:url

返回参数
返回码: 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创建来唯一确定本次请求的值,可以通过该值来定位问题。

x-obs-bucket-type
 
string

通过此消息头明确获取的列表内容。

取值: OBJECT:获取所有桶列表。 POSIX:获取所有并行文件系统列表。 不带此消息头则获取所有桶和并行文件系统列表。

名称 类型 必选 描述
Name
 
string

桶名。

EncodingType
 
string

对响应中的部分元素进行指定类型的编码。如果请求中设置了encoding-type,那响应中的Delimiter、KeyMarker、Prefix(包括CommonPrefixes中的Prefix)、NextKeyMarker和Key会被编码。

Prefix
 
string

对象名的前缀,表示本次请求只列举对象名能匹配该前缀的所有对象。类型:字符串

KeyMarker
 
string

列举对象时对象的起始位置标识符。

VersionIdMarker
 
string

列举对象时对象版本号的起始位置。

NextKeyMarker
 
string

如果本次没有返回全部结果,响应请求中将包含该元素,用于标明接下来请求的KeyMarker值。

NextVersionIdMarker
 
string

如果本次没有返回全部结果,响应请求中将包含该元素,用于标明接下来请求的VersionIdMarker值。

MaxKeys
 
string

列举时最多返回的对象个数。

IsTruncated
 
boolean

表明是否本次返回的ListVersionsResult结果列表被截断。“true”表示本次没有返回全部结果;“false”表示本次已经返回了全部结果。

Version
 
ListVersionsResultVersion object

保存版本信息的容器

DeleteMarker
 
ListVersionsResultDeleteMarker object

保存删除标记的容器

CommonPrefixes
 
ListVersionsResultCommonPrefixes object

请求中带delimiter参数时,返回消息带CommonPrefixes分组信息。

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

对象名。

VersionId
 
string

对象的版本号。

IsLatest
 
string

标识对象是否是最新的版本,true代表是最新的版本。

LastModified
 
string

对象最近一次被修改的时间(UTC时间)。

ETag
 
string

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

Type
 
string

对象类型,非Normal对象时返回。

Size
 
string

对象的字节数。

Owner
 
Owner object

桶拥有者信息,包含租户ID。

StorageClass
 
string

对象的存储类型。

200 Version.Owner
名称 类型 必选 描述
ID
 
string

用户的DomainID(帐号ID)。

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

对象名。

VersionId
 
string

对象的版本号。

IsLatest
 
string

标识对象是否是最新的版本,true代表是最新的版本。

LastModified
 
string

对象最近一次被修改的时间(UTC时间)。

Owner
 
Owner object

桶拥有者信息,包含租户ID。

200 DeleteMarker.Owner
名称 类型 必选 描述
ID
 
string

用户的DomainID(帐号ID)。

200 CommonPrefixes
名称 类型 必选 描述
Prefix
 
string

CommonPrefixes分组信息中,表明不同的Prefix。

返回码: 400

请求失败响应消息。

名称 类型 必选 描述
Code
 
string

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

Message
 
string

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

RequestId
 
string

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

HostId
 
string

返回该消息的服务端ID。

Resource
 
string

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

请求示例
示例 1
 
"/?versions"
 
"GET / HTTP/1.1\nUser-Agent: curl/7.29.0\nHost: examplebucket.obs.cn-north-4.myhuaweicloud.com\nAccept: */*\nDate: WED, 01 Jul 2015 02:28:25 GMT\nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=\n"
返回示例
返回码:200

成功响应消息

示例 1
 
HTTP/1.1 200 OK Server: OBS x-obs-request-id: BF260000016435D758FBA857E0801874 x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAA BCS hn/xAyk/xHBX6qgGSB36WXrbco0X80 Content-Type: application/xml Date: WED, 01 Jul 2015 02:29:48 GMT Content-Length: 707 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ListVersionsResult xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> <Name>bucket02</Name> <Prefix/> <KeyMarker/> <VersionIdMarker/> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> <Contents> <Key>object001</Key> <VersionId>00011000000000013F16000001643A22E476FFFF9046024ECA3655445346485a</VersionId> <IsLatest>true</IsLatest> <LastModified>2015-07-01T00:32:16.482Z</LastModified> <ETag>"2fa3bcaaec668adc5da177e67a122d7c"</ETag> <Size>12041</Size> <Owner> <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID> </Owner> <StorageClass>STANDARD</StorageClass> </Contents> </ListVersionsResult>
错误码
请参考 错误码说明

 

上一篇:泛微为大型集团提供法务案件管理方案:案件集中管,档案规范存 下一篇:数据库RDS连接教程,数据库RDS实例连接失败怎么办?

对象存储服务 OBS     

对象存储服务(Object Storage Service)是一款稳定、安全、高效、易用的云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据。