更新时间:2024-09-29 GMT+08:00

列举桶内对象

功能介绍

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

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

用户也可以请求参数中添加versions参数来执行列举桶内多版本对象的操作。

请求消息样式

1
2
3
4
5
GET / HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com 
 
Date: date
Authorization: authorization

请求消息样式(多版本)

1
2
3
4
GET /?versions HTTP/1.1  
Host: bucketname.obs.region.myhuaweicloud.com 
Date: date
Authorization: authorization

请求消息参数

该请求可以通过带参数,列举出桶内的一部分对象,参数的具体含义如表1所示。

表1 请求消息参数

参数名称

参数类型

是否必选

描述

prefix

String

参数解释:

列举桶内对象列表时,指定一个前缀,限定返回的对象名必须带有prefix前缀。

约束限制:

满足对象名的格式。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

marker

String

参数解释:

列举桶内对象列表时,指定一个标识符,作为列举时的起始位置,从该标识符以后按对象名的字典顺序返回对象列表。

约束限制:

该字段仅用于非多版本列举。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

max-keys

Integer

参数解释:

列举对象的最大数目,返回的对象列表将是按照字典顺序的最多前max_keys个对象。

约束限制:

取值范围:

1~1000,当超出范围时,按照默认的1000进行处理。

默认取值:

1000

delimiter

String

参数解释:

将对象名进行分组的分隔符。如果指定了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。

对于并行文件系统,不携带此参数时默认列举是递归列举此目录下所有内容,会列举子目录。在大数据场景下(目录层级深、目录下文件多)的列举,建议设置[delimiter=/],只列举当前目录下的内容,不列举子目录,提高列举效率。

约束限制:

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

key-marker

String

参数解释:

列举多版本对象的起始位置,返回的对象列表将是对象名按照字典序排序后该参数以后的所有对象。

约束限制:

该字段仅用于多版本列举。

取值范围:

上次请求返回体的NextKeyMarker值。

默认取值:

version-id-marker

String

参数解释:

与key_marker配合使用,返回的对象列表将是对象名和版本号按照字典序排序后该参数以后的所有对象(单次返回最大为1000个)。key_marker指定对象名,version_id_marker指定该对象的具体版本号,两者共同确定对象版本。

约束限制:

  • 该字段只适用于多版本列举场景。
  • 如果version_id_marker不是key_marker的一个版本号,则该参数无效。

取值范围:

对象的版本号,即上次请求返回体的nextVersionIdMarker值。

默认取值:

encoding-type

String

参数解释:

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

约束限制:

当前只支持URL编码。

取值范围:

URL

默认取值:

无,不设置则不编码。

请求消息头

该请求使用公共的请求消息头,具体如表3所示。

请求消息元素

该请求消息头中不带消息元素。

响应消息样式

1
2
3
4
5
6
HTTP/1.1 status_code
Date: date
x-obs-bucket-location: region
Content-Type: application/xml 
Content-Length: length
<Response Body>

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1

响应消息元素

该请求的响应消息中,会以XML形式将桶中的对象列出来,元素的具体含义如表2所示。

表2 响应消息元素

参数名称

参数类型

描述

ListBucketResult

XML

参数解释:

桶中对象列表。

约束限制:

取值范围:

默认取值:

Contents

XML

参数解释:

对象的元数据信息。

父节点:ListBucketResult

约束限制:

取值范围:

默认取值:

CommonPrefixes

XML

参数解释:

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

父节点:ListBucketResult

约束限制:

取值范围:

默认取值:

Delimiter

String

参数解释:

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

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

父节点:ListBucketResult

约束限制:

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

EncodingType

String

参数解释:

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

父节点:ListBucketResult

约束限制:

当前只支持URL编码。

取值范围:

URL

默认取值:

无,不设置则不编码。

ETag

String

参数解释:

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

父节点:ListBucketResult.Contents

约束限制

当对象是服务端加密的对象时,ETag值不是对象的MD5值,而是通过服务端加密计算出的唯一标识。

取值范围:

长度为32的字符串。

默认取值:

Type

String

参数解释:

对象的类型。

父节点:ListBucketResult.Contents

约束限制:

非Normal对象时返回该参数。

取值范围:

  • Normal:普通对象
  • APPENDABLE:追加写对象

默认取值:

ID

String

参数解释:

对象拥有者的DomainId。

父节点:ListBucketResult.Contents.Owner

约束限制

取值范围:

DomainId

默认取值:

IsTruncated

Boolean

参数解释:

表明本次请求是否返回了全部结果。

父节点:ListBucketResult

约束限制:

取值范围:

  • true:表示本次没有返回全部结果。
  • false:表示本次已经返回了全部结果。

默认取值:

Key

String

参数解释:

对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。

例如,您对象的访问地址为examplebucket.obs.ap-southeast-1.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。

父节点:ListBucketResult.Contents

约束限制:

参见对象概述

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

LastModified

Date

参数解释:

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

父节点:ListBucketResult.Contents

约束限制

日期格式为ISO8601的格式。

例如:2018-01-01T00:00:00.000Z,表示最后一次修改时间为2018-01-01T00:00:00.000Z。

取值范围:

默认取值:

Marker

String

参数解释:

列举桶内对象列表时,指定一个标识符,作为列举时的起始位置,从该标识符以后按对象名的字典顺序返回对象列表。

例如,您拥有以下对象:test/a、test/b、test/c、test/d。如果您将test/b指定为标识符,将返回test/c、test/d两个对象。

约束限制:

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

NextMarker

String

参数解释:

如果本次没有返回全部结果,响应请求中将包含此字段,用于标明本次请求列举到的最后一个对象。后续请求可以指定Marker等于该值来列举剩余的对象。

父节点:ListBucketResult

约束限制:

取值范围:

字符串,下一次请求起始位置的对象名。

默认取值:

MaxKeys

String

参数解释:

列举对象的最大数目,返回的对象列表将是按照字典顺序的最多前max_keys个对象。

父节点:ListBucketResult

约束限制:

取值范围:

1~1000,当超出范围时默认为1000。

默认取值:

1000

Name

String

参数解释:

桶名。

父节点:ListBucketResult

约束限制:

  • 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。
  • 桶命名规则如下:
    • 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
    • 禁止使用IP地址。
    • 禁止以“-”或“.”开头及结尾。
    • 禁止两个“.”相邻(如:“my..bucket”)。
    • 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
  • 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。

默认取值:

Owner

XML

参数解释:

用户信息,包含对象拥有者DomainId和对象拥有者名称。

父节点:ListBucketResult.Contents

约束限制:

取值范围:

默认取值:

DisplayName

String

参数解释:

对象拥有者名称。

父节点:ListBucketResult.Contents.Owner

约束限制:

取值范围:

默认取值:

Prefix

String

参数解释:

列举桶内对象列表时,指定一个前缀,限定返回的对象名必须带有prefix前缀。

例如,您拥有以下对象:logs/day1、logs/day2、logs/day3和ExampleObject.jpg。如果您将logs/指定为前缀,将返回以字符串“logs/”开头的三个对象。如果您指定空的前缀且请求中没有其他过滤条件,将返回桶中的所有对象。

父节点:ListBucketResult

约束限制:

为桶内对象的前缀。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

Size

String

参数解释:

对象的字节数。

父节点:ListBucketResult.Contents

约束限制:

取值范围:

0~48.8TB,单位:字节。

默认取值:

StorageClass

String

参数解释:

对象的存储类型。

父节点:ListBucketResult.Contents

约束限制:

取值范围:

  • STANDARD
  • WARM
  • COLD

默认取值:

表3 列举多版本对象响应消息元素

参数名称

参数类型

描述

ListVersionsResult

Container

参数解释:

保存列举桶中对象列表(含多版本)请求结果的容器。

约束限制:

取值范围:

默认取值:

Name

String

参数解释

桶名。

父节点:ListVersionsResult

约束限制:

  • 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。
  • 桶命名规则如下:
    • 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
    • 禁止使用IP地址。
    • 禁止以“-”或“.”开头及结尾。
    • 禁止两个“.”相邻(如:“my..bucket”)。
    • 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
  • 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。

取值范围:

默认取值:

EncodingType

String

参数解释:

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

父节点:ListVersionsResult

约束限制:

当前只支持URL编码。

取值范围:

URL

默认取值:

无,不设置则不编码。

Prefix

String

参数解释:

列举桶内对象列表时,指定一个前缀,限定返回的对象名必须带有prefix前缀。

例如,您拥有以下对象:logs/day1、logs/day2、logs/day3和ExampleObject.jpg。如果您将logs/指定为前缀,将返回以字符串“logs/”开头的三个对象。如果您指定空的前缀且请求中没有其他过滤条件,将返回桶中的所有对象。

父节点:ListVersionsResult

约束限制:

为桶内对象的前缀。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

KeyMarker

String

参数解释:

列举桶内对象列表时,指定一个标识符,作为列举时的起始位置,从该标识符以后按对象名的字典顺序返回对象列表。

例如,您拥有以下对象:test/a、test/b、test/c、test/d。如果您将test/b指定为标识符,将返回test/c、test/d两个对象。

父节点:ListVersionsResult

约束限制:

仅用于多版本列举。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

VersionIdMarker

String

参数解释:

表示列举多版本对象的起始位置(versionId标识),与请求中的该参数对应。

约束限制:

仅用于多版本列举。

取值范围:

长度为32的字符串。

默认取值:

NextKeyMarker

String

参数解释:

下次列举多版本对象请求的起始位置。如果本次没有返回全部结果,响应请求中将包含该元素,用于标明接下来请求的KeyMarker值。

父节点: ListVersionsResult。

约束限制:

取值范围:

字符串,下一次请求起始位置的对象名。

默认取值:

NextVersionIdMarker

String

参数解释:

下次列举多版本对象请求的起始位置(versionId标识),与nextKeyMarker配合使用。如果本次没有返回全部结果,响应请求中将包含该元素,用于标明接下来请求的VersionIdMarker值。

父节点: ListVersionsResult。

约束限制:

仅用于多版本列举。

取值范围:

长度为32的字符串。

默认取值:

MaxKeys

String

参数解释:

列举对象的最大数目,返回的对象列表将是按照字典顺序的最多前MaxKeys个对象。

父节点:ListVersionsResult

约束限制:

取值范围:

1~1000,当超出范围时默认为1000。

默认取值:

1000

IsTruncated

Boolean

参数解释:

表明本次请求是否返回了全部结果。

父节点:ListVersionsResult

约束限制:

取值范围:

  • true:表示本次没有返回全部结果。
  • false:表示本次已经返回了全部结果。

默认取值:

Version

Container

参数解释:

保存版本信息的容器。

父节点:ListVersionsResult

约束限制:

取值范围:

默认取值:

DeleteMarker

Container

参数解释:

保存删除标记的容器。

父节点:ListVersionsResult

约束限制:

取值范围:

默认取值:

Key

String

参数解释:

对版本对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径,路径中不包含桶名。

例如,您对象的访问地址为examplebucket.obs.ap-southeast-1.myhuaweicloud.com/folder/test.txt 中,对象名为folder/test.txt。

父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker

约束限制:

参见对象概述

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

VersionId

String

参数解释:

对象的版本号。

父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker

约束限制:

取值范围:

长度为32的字符串。

默认取值:

IsLatest

Boolean

参数解释:

标识对象是否是最新的版本。

父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker

约束限制:

取值范围:

  • true:代表是最新版本。
  • false:代表非最新版本。

默认取值:

LastModified

Date

参数解释:

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

父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker

约束限制

日期格式为ISO8601的格式。

例如:2018-01-01T00:00:00.000Z,表示最后一次修改时间为2018-01-01T00:00:00.000Z。

取值范围:

默认取值:

ETag

String

参数解释:

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

父节点:ListVersionsResult.Version

约束限制:

取值范围:

长度为32的字符串。

默认取值:

Type

String

参数解释:

对象的类型。

父节点:ListVersionsResult.Version

约束限制:

非Normal对象时返回该参数。

取值范围:

  • NORMAL:普通对象
  • APPENDABLE:追加写对象

默认取值:

Size

String

参数解释:

对象的字节数。

父节点:ListVersionsResult.Version

约束限制:

取值范围:

0~48.8TB,单位:字节。

默认取值:

Owner

Container

参数解释:

用户信息,包含对象拥有者DomainId和对象拥有者名称。

父节点:ListVersionsResult.Version | ListVersionsResult.DeleteMarker

约束限制:

取值范围:

默认取值:

ID

String

参数解释:

对象拥有者的DomainId。

父节点:ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner

约束限制

取值范围:

DomainId

默认取值:

DisplayName

String

参数解释:

对象拥有者名称。

父节点:ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner

约束限制:

取值范围:

默认取值:

StorageClass

String

参数解释:

对象的存储类型。

父节点:ListVersionsResult.Version

约束限制:

取值范围:

  • STANDARD
  • WARM
  • COLD

默认取值:

CommonPrefixes

Container

参数解释:

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

父节点:ListVersionsResult。

约束限制:

取值范围:

默认取值:

Prefix

String

参数解释:

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

父节点:ListVersionsResult.CommonPrefixes。

约束限制:

为桶内对象的前缀。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

错误响应消息

无特殊错误,所有错误已经包含在表2中。

请求示例:列举所有对象

1
2
3
4
5
6
GET / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 02:28:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=

响应示例:列举所有对象

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435D34E379ABD93320CB9
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSXiN7GPL/yXM6OSBaYCUV1zcY5OelWp
Content-Type: application/xml
Date: WED, 01 Jul 2015 02:23:30 GMT
Content-Length: 586

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListBucketResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
  <Name>examplebucket</Name>
  <Prefix/>
  <Marker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>object001</Key>
    <LastModified>2015-07-01T00:32:16.482Z</LastModified>
    <ETag>"2fa3bcaaec668adc5da177e67a122d7c"</ETag>
    <Size>12041</Size>
    <Owner>
      <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID>
      <DisplayName>ObjectOwnerName</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

请求示例:筛选对象

用户有桶名为examplebucket,桶内共有四个名为newfile,obj001,obj002,obs001的对象,如果只需要列出对象名为obj002的对象,请求消息格式为:

GET /?marker=obj001&prefix=obj HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 02:28:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=

响应示例:筛选对象

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435D758FBA857E0801874
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCShn/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"?>
<ListBucketResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
<Name>examplebucket</Name>
<Prefix>obj</Prefix>
<Marker>obj001</Marker>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
  <Contents>
    <Key>obj002</Key>
    <LastModified>2015-07-01T02:11:19.775Z</LastModified>
    <ETag>"a72e382246ac83e86bd203389849e71d"</ETag>
    <Size>9</Size>
    <Owner>
      <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID>
      <DisplayName>ObjectOwnerName</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

请求示例:筛选对象

用户有桶名为examplebucket,桶中有3个对象,分别为abcd、abcde、bbcde,指定prefix为a,delimiter为d,abcd、abcde会被分成一组,形成一条前缀为abcd的CommonPrefixes。请求格式为:

GET /?prefix=a&delimiter=d HTTP/1.1
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4=
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Date: WED, 01 Jul 2015 02:37:22 GMT
Content-Type: application/xml;charset=UTF-8

响应示例:筛选对象

x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSsokG49mPTa0cU5U/4gjFYLmYPgfYs/
x-obs-request-id: 0000018A2A563686D2C61543407D6ABF
Server: OBS
x-obs-bucket-location: region
Content-Length: 333
Date: WED, 01 Jul 2015 02:37:22 GMT
Content-Type: application/xml
 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListBucketResult  xmlns="http://obs.myhwclouds.com/doc/2015-06-30/">
    <Name>examplebucket</Name>
    <Prefix>a</Prefix>
    <Marker>
    </Marker>
    <MaxKeys>1000</MaxKeys>
    <Delimiter>d</Delimiter>
    <IsTruncated>false</IsTruncated>
    <CommonPrefixes>
        <Prefix>abcd</Prefix>
    </CommonPrefixes>
</ListBucketResult>

请求示例:多版本

1
2
3
4
5
6
GET /?versions HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 02:29:45 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iZeDESIMxBK2YODk7vIeVpyO8DI=

响应示例:多版本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435D758FBA857E0801874
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCShn/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.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
 <Name>bucket02</Name>
  <Prefix/>
  <KeyMarker/>
  <VersionIdMarker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Version>
    <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>
      <DisplayName>ObjectOwnerName</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Version>
</ListVersionsResult>

请求示例:列举桶内对象,桶内包含归档对象

GET / HTTP/1.1
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iqSPeUBl66PwXDApxjRKk6hlcN4=
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Date: WED, 01 Jul 2015 02:37:22 GMT
Content-Type: application/xml;charset=UTF-8

响应示例:列举桶内对象,桶内包含归档对象

HTTP/1.1 200 OK
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSWqA48YKdA2aExVAgcpwubHQO5wd9ww
x-obs-request-id: 0000018A2A5FE372D308213442F9065F
Server: OBS
x-obs-bucket-location: region
Content-Length: 497
Date: WED, 01 Jul 2015 02:37:22 GMT
Content-Type: application/xml
 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListBucketResult  xmlns="http://obs.myhwclouds.com/doc/2015-06-30/">
    <Name>examplebucket</Name>
    <Prefix>
    </Prefix>
    <Marker>
    </Marker>
    <MaxKeys>1000</MaxKeys>
    <IsTruncated>false</IsTruncated>
    <Contents>
        <Key>abcd.txt</Key>
        <LastModified>2014-08-25T01:47:00.838Z</LastModified>
        <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
        <Size>0</Size>
        <Owner>
            <ID>d029cb567d464a93pdl9v800575ee4cf</ID>
        </Owner>
        <StorageClass>COLD</StorageClass>
    </Contents>
</ListBucketResult>