
# 列举桶内对象-ListObjects
#### 功能介绍
调用本接口可以获取桶内对象列表。如果用户在请求中只指定了桶名，则返回信息中会包含桶内部分或所有对象的描述信息（一次最多返回1000个对象信息）；如果用户还指定了prefix、marker、max-keys、delimiter参数中的一个或多个，则返回的对象列表将按照如[表 URI参数]所示规定的语义返回指定的对象。
了解更多列举桶内对象相关信息，请参见[列举对象](https://support.huaweicloud.com/usermanual-obs/obs_03_0723.html)。
#### 接口约束
- OBS不支持列举指定页数的对象。
- OBS不支持通过时间排序找到某个时间上传的对象，只能通过按前缀搜索找到目标对象。
- 对象列表页面的"大小"和"最后修改时间"仅对当前页面的对象进行排序。
 
#### 授权信息
您必须是桶拥有者或拥有列举桶内对象的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:bucket:ListBucket** （未开启多版本）、**obs:bucket:ListBucketVersions** （开启或暂停多版本）权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
  
  - 如果使用**身份策略授权** （新版IAM，即IAM v5接口），如下表所示，需具备**obs:bucket:listBucket** （未开启多版本）、**obs:bucket:listBucketVersions** （开启或暂停多版本）权限，授权操作请参见[创建IAM自定义身份策略](https://support.huaweicloud.com/usermanual-iam5/iam_01_0917.html)。
    
    | 授权项 Action                                                           | 访问级别 Access Level | 资源类型（\*为必须） Resource Type (\*: required) | [条件键](https://support.huaweicloud.com/api-obs/obs_04_0112.html#ZH-CN_TOPIC_0000002375307974__condition_table) Condition Key                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | [别名](https://support.huaweicloud.com/iam5_faq/iam_01_1103.html) Alias | 依赖的授权项 Dependencies |
    |:---|:---|:---|:---|:---|:---|
    | obs:bucket:listBucket（未开启多版本） obs:bucket:listBucketVersions（开启或暂停多版本） | List                                                     | bucket \*                                                                        | - [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)  - [g:ResourceTag/\<tag-key\>](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)                                                                                                                                                                                                                                                                                                                                      | -                                                                                                             | -               |
    | obs:bucket:listBucket（未开启多版本） obs:bucket:listBucketVersions（开启或暂停多版本） | List                                                     | -                                                                                | - obs:EpochTime  - obs:SourceIp  - obs:TlsVersion  - obs:CustomDomain  - obs:prefix  - obs:delimiter  - obs:max-keys   | -                                                                                                             | -               |
       
    
   
- 如果使用**桶策略** 进行授权，需具备**obs:bucket:ListBucket** （未开启多版本）、**obs:bucket:ListBucketVersions** （开启或暂停多版本）权限，具体操作请参见[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
 
#### URI
GET /
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-obs/obs_04_0006.html)。调用前需要先[计算API签名](https://support.huaweicloud.com/api-obs/obs_04_0009.html)，并将签名添加到请求中。
您还可以使用[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/OBS/doc?api=ListObjects)在线调试接口。
#### 请求消息样式
以下为请求消息样例，请将示例中的*BucketName* 修改为您的桶名，*RegionID* 修改为桶所在的区域ID，可参考[支持区域](https://console.huaweicloud.com/apiexplorer/#/endpoint/OBS)获取区域ID。
未开启多版本时，接口的请求消息样式：
```
GET / HTTP/1.1 
Host: BucketName.obs.RegionID.myhuaweicloud.com 
Date: GMT Date
Authorization: SignatureValue
```
开启或暂停多版本时，接口的请求消息样式：
```
GET /?versions HTTP/1.1  
Host: BucketName.obs.RegionID.myhuaweicloud.com 
Date: GMT Date
Authorization: SignatureValue
```
#### URI参数（URI Parameters）
本接口可以通过携带URI参数，列举出桶内的一部分对象，参数的具体含义如[表1]所示。
 表1URI参数 
| **参数名称**          | **参数类型** | **是否必选** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| prefix            | String   | 否        | **参数解释：** 列举桶内对象列表时，指定一个前缀，限定返回的对象名必须带有prefix前缀。 **约束限制：** 满足对象名的格式。 **取值范围：** 长度大于0且不超过1024的字符串。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| marker            | String   | 否        | **参数解释：** 列举桶内对象列表时，指定一个标识符，作为列举时的起始位置，从该标识符以后按对象名的字典顺序返回对象列表。 **约束限制：** 该字段仅用于非多版本列举。 **取值范围：** 长度大于0且不超过1024的字符串。 **默认取值：** 无                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| max-keys          | Integer  | 否        | **参数解释：** 列举对象的最大数目，返回的对象列表将是按照字典顺序的最多前max_keys个对象。 **约束限制：** 无 **取值范围：** 1\~1000，当超出范围时，按照默认的1000进行处理。 **默认取值：** 1000                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| delimiter         | String   | 否        | **参数解释：** delimiter将对象名进行分组的分隔符。[CommonPrefixes]所有具有相同前缀的对象名（最多 1,000 个）会被分组在一起。仅当您指定了分隔符（delimiter）时，响应中才会包含 CommonPrefixes。 当桶中有如下对象时123/, a1/, abc/。当请求条件为：prefix=, delimiter=/ 结果：commonPrefixes=\[123/, a1/, abc/\] 说明：没有指定prefix，从对象名的首字符到第一次出现delimiter间具有相同字符串的对象名会被分成一组，形成一条CommonPrefixes。 当桶中有如下对象时123/1.txt。当请求条件为： prefix=123/, delimiter=/ 结果：commonPrefixes=\[\] 说明：如果指定了prefix，从prefix到第一次出现delimiter间具有相同字符串的对象名会被分成一组，形成一条CommonPrefixes。 当桶中有如下对象时123/a/1.txt。当请求条件为： prefix=123/, delimiter=/ 结果：commonPrefixes=\[123/a/\] **对于并行文件系统，不携带此参数时默认列举是递归列举此目录下所有内容，会列举子目录，当子目录较多时会导致请求响应变慢或请求失败。在大数据场景下（目录层级深、目录下文件多）的列举，建议设置\[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 **默认取值：** 无，不设置则不编码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
#### 请求头参数（Request headers）
该请求使用公共的请求头参数，具体如[表3](https://support.huaweicloud.com/api-obs/obs_04_0007.html#ZH-CN_TOPIC_0136436606__table25197309)所示。
#### 请求体参数（Request body）
该请求消息中不带请求体参数。
#### 响应消息样式
响应消息样式如下，其中Body的详细参数说明请参见[表2]。
```
HTTP/1.1 status_code
Date: GMT Date
x-obs-bucket-location: RegionID
Content-Type: application/xml 
Content-Length: BodyLength
<Response Body>
```
#### 响应头 (Response Headers)
该请求的响应消息使用公共响应头，具体请参考[表1](https://support.huaweicloud.com/api-obs/obs_04_0013.html#ZH-CN_TOPIC_0173612084__d0e686)。
#### 响应体 (Response Body)
该请求的响应消息中，会以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   | **参数解释：** 对响应中的部分元素进行指定类型的编码，当前只支持URL编码。如果请求中设置了encoding-type，那响应中的Delimiter、Marker、Prefix（包括CommonPrefixes中的Prefix）、NextMarker和Key会被编码。 父节点：ListBucketResult **取值范围：** URL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ETag             | String   | **参数解释：** 对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识，可以通过该值识别对象内容是否有变化。当对象是服务端加密的对象时，ETag值不是对象的MD5值，而是通过服务端加密计算出的唯一标识。 比如上传对象时ETag为A，下载对象时ETag为B，则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容，而不是其元数据。上传的对象或拷贝操作创建的对象，通过MD5加密后都有唯一的ETag。 父节点：ListBucketResult.Contents **取值范围：** 长度为32的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Type             | String   | **参数解释：** 对象的类型。非Normal对象时返回该参数 父节点：ListBucketResult.Contents **取值范围：** - NORMAL：普通对象  - APPENDABLE：追加写对象  - SYMLINK：软链接对象                                                                                                                                                                                                                                                                                                                                         |
| ID               | String   | **参数解释：** 对象拥有者的DomainId。 父节点：ListBucketResult.Contents.Owner **取值范围：** [DomainId](https://support.huaweicloud.com/api-obs/obs_04_0117.html)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| IsTruncated      | Boolean  | **参数解释：** 表明本次请求是否返回了全部结果。 父节点：ListBucketResult **取值范围：** - true：表示本次没有返回全部结果。  - false：表示本次已经返回了全部结果。                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| Key              | String   | **参数解释：** 对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径，路径中不包含桶名。了解更多对象相关信息，请参见参见[对象概述](https://support.huaweicloud.com/usermanual-obs/obs_41_0015.html)。 例如，您对象的访问地址为examplebucket.obs.cn-north-4.myhuaweicloud.com/folder/test.txt 中，对象名为folder/test.txt。 父节点：ListBucketResult.Contents 参见[对象概述](https://support.huaweicloud.com/usermanual-obs/obs_41_0015.html)。 **取值范围：** 长度大于0且不超过1024的字符串。                                                                                                                                                                                                                                                                    |
| LastModified     | Date     | **参数解释：** 对象最近一次被修改的时间（UTC时间）。 日期格式为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两个对象。 父节点：ListBucketResult **取值范围：** 长度大于0且不超过1024的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| NextMarker       | String   | **参数解释：** 如果本次没有返回全部结果，响应请求中将包含此字段，用于标明本次请求列举到的最后一个对象。后续请求可以指定Marker等于该值来列举剩余的对象。 父节点：ListBucketResult **取值范围：** 字符串，下一次请求起始位置的对象名。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| MaxKeys          | String   | **参数解释：** 列举对象的最大数目，返回的对象列表将是按照字典顺序的最多前max_keys个对象。 父节点：ListBucketResult **取值范围：** 1\~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：归档存储  - DEEP_ARCHIVE：深度归档存储                                                                                                                                                                                                                                                               |
   
表3列举多版本对象响应体 
| **参数名称**            | **参数类型**  | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| ListVersionsResult  | Container | **参数解释：** 保存列举桶中对象列表（含多版本）请求结果的容器。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| Name                | String    | **参数解释** **：** 桶名。桶的名字需全局唯一，不能与已有的任何桶名称重复，包括其他用户创建的桶。同一用户在同一个区域多次创建同名桶不会报错，创建的桶属性以第一次请求为准。 父节点：ListVersionsResult **取值范围：** 桶命名规则如下： - 3～63个字符，数字或字母开头，支持小写字母、数字、"-"、"."。  - 禁止使用IP地址。  - 禁止以"-"或"."开头及结尾。  - 禁止两个"."相邻（如："my..bucket"）。  - 禁止"."和"-"相邻（如："my-.bucket"和"my.-bucket"）   |
| EncodingType        | String    | **参数解释：** 对响应中的部分元素进行指定类型的编码，当前只支持URL编码，不设置则不编码。如果请求中设置了encoding-type，那响应中的Delimiter、KeyMarker、Prefix（包括CommonPrefixes中的Prefix）、NextKeyMarker和Key会被编码。 父节点：ListVersionsResult **取值范围：** 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。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| IsTruncated         | Boolean   | **参数解释：** 表明本次请求是否返回了全部结果。 父节点：ListVersionsResult **取值范围：** - true：表示本次没有返回全部结果。  - false：表示本次已经返回了全部结果。                                                                                                                                                                                                                                                                                                                                                                                                                 |
| Version             | Container | **参数解释：** 保存版本信息的容器。 父节点：ListVersionsResult                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| DeleteMarker        | Container | **参数解释：** 保存删除标记的容器。 父节点：ListVersionsResult                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| Key                 | String    | **参数解释：** 版本对象的对象名。对象名是对象在存储桶中的唯一标识。对象名是对象在桶中的完整路径，路径中不包含桶名。了解对象更多信息请参见[对象概述](https://support.huaweicloud.com/usermanual-obs/obs_41_0015.html)。 例如，您对象的访问地址为examplebucket.obs.cn-north-4.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时间）。日期格式为ISO8601的格式。 例如：2018-01-01T00:00:00.000Z，表示最后一次修改时间为2018-01-01T00:00:00.000Z。 父节点：ListVersionsResult.Version \| ListVersionsResult.DeleteMarker                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ETag                | String    | **参数解释：** 对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识，可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A，下载对象时ETag为B，则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容，而不是其元数据。上传的对象或拷贝操作创建的对象，通过MD5加密后都有唯一的ETag。 父节点：ListVersionsResult.Version **取值范围：** 长度为32的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Type                | String    | **参数解释：** 对象的类型。非Normal对象时返回该参数。 父节点：ListVersionsResult.Version **取值范围：** - NORMAL：普通对象  - APPENDABLE：追加写对象  - SYMLINK：软链接对象                                                                                                                                                                                                                                                                                                         |
| Size                | String    | **参数解释：** 对象的字节数。 父节点：ListVersionsResult.Version **取值范围：** 0\~48.8TB，单位：字节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Owner               | Container | **参数解释：** 用户信息，包含对象拥有者DomainId和对象拥有者名称。 父节点：ListVersionsResult.Version \| ListVersionsResult.DeleteMarker                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ID                  | String    | **参数解释：** 对象拥有者的DomainId。 父节点：ListVersionsResult.Version.Owner \| ListVersionsResult.DeleteMarker.Owner **取值范围：** 请参见[DomainId](https://support.huaweicloud.com/api-obs/obs_04_0117.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| DisplayName         | String    | **参数解释：** 对象拥有者名称。 父节点：ListVersionsResult.Version.Owner \| ListVersionsResult.DeleteMarker.Owner **取值范围：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| StorageClass        | String    | **参数解释：** 对象的存储类型。 父节点：ListVersionsResult.Version **取值范围：** - STANDARD：标准存储  - WARM：低频存储  - COLD：归档存储  - DEEP_ARCHIVE：深度归档存储                                                                                                                                                                                                                       |
| CommonPrefixes      | Container | **参数解释：** 请求中带delimiter参数时，返回消息带CommonPrefixes分组信息。 父节点：ListVersionsResult。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Prefix              | String    | **参数解释：** CommonPrefixes分组信息中，表明不同的Prefix。 父节点：ListVersionsResult.CommonPrefixes。 **约束限制：** 为桶内对象的前缀。 **取值范围：** 长度大于0且不超过1024的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
#### 错误响应消息
无特殊错误，所有错误已经包含在[错误码概述](https://support.huaweicloud.com/api-obs/obs_04_0115.html)中。
#### 请求示例：列举所有对象
```
GET / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 02:28:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=
```
#### 响应示例：列举所有对象
```
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.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
  <Name>examplebucket</Name>
  <Prefix></Prefix>
  <Marker></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.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 02:28:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=
```
#### 响应示例：筛选对象
```
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.cn-north-4.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），那么对象名称中从"a"到"d"中间字符串相同的对象会被分成一组，即abcd、abcde会被分成一组，同时形成一条共同前缀"CommonPrefixes"为abcd。
请求格式为：
```
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
```
#### 响应示例：筛选对象
```
HTTP/1.1 200 OK
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.myhuaweicloud.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>
```
#### 请求示例：多版本
```
GET /?versions HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 02:29:45 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iZeDESIMxBK2YODk7vIeVpyO8DI=
```
#### 响应示例：多版本
```
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.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
 <Name>bucket02</Name>
 <Prefix></Prefix>
 <KeyMarker></KeyMarker>
  <VersionIdMarker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Version>
    <Key>object001</Key>
    <VersionId>G001119F25E10207FFFF83E508C65720</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.myhuaweicloud.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>
            <DisplayName>ObjectOwnerName</DisplayName>
        </Owner>
        <StorageClass>COLD</StorageClass>
    </Contents>
</ListBucketResult>
```
#### 使用SDK调用接口
建议您使用OBS SDK调用接口。SDK对API进行了封装以简化您的开发工作，直接调用SDK接口函数即可访问OBS，无需手动计算签名。
| [Java](https://support.huaweicloud.com/sdk-java-devg-obs/obs_21_0803.html) | [Python](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0805.html) | [C](https://support.huaweicloud.com/sdk-c-devg-obs/obs_20_0603.html) | [Go](https://support.huaweicloud.com/sdk-go-devg-obs/obs_33_0406.html) | [BrowserJS](https://support.huaweicloud.com/sdk-browserjs-devg-obs/obs_24_0703.html) | [.NET](https://support.huaweicloud.com/sdk-dotnet-devg-obs/obs_25_0603.html) | [Android](https://support.huaweicloud.com/sdk-android-devg-obs/obs_26_0603.html) | [iOS](https://support.huaweicloud.com/sdk-ios-devg-obs/obs_27_0603.html) | [PHP](https://support.huaweicloud.com/sdk-php-devg-obs/obs_28_0603.html) | [Node.js](https://support.huaweicloud.com/sdk-nodejs-devg-obs/obs_29_0603.html) |
|---|---|---|---|---|---|---|---|---|---|
   
#### 相关文档
- 使用obsutil列举桶内对象，请参见[列举对象](https://support.huaweicloud.com/utiltg-obs/obs_11_0014.html)。
- 了解更多列举桶内对象相关信息，请参见[列举对象](https://support.huaweicloud.com/usermanual-obs/obs_03_0723.html)。
- 调用列举桶内对象接口操作会产生计费，该操作相关计费说明请参考[请求费用](https://support.huaweicloud.com/price-obs/obs_42_0004.html)。
 
