
# 列举已上传未合并的段-ListParts
#### 功能介绍
用户可以通过本接口查询一个未合并任务所属的所有段信息，了解完整的多段上传流程请参见[多段上传](https://support.huaweicloud.com/usermanual-obs/obs_41_0021.html)。此接口列举的各个段大小和分段上传的各个段大小一致。
#### 授权信息
您必须是桶拥有者或拥有列举已上传未合并的段的权限，才能调用本接口，建议使用IAM或桶策略进行授权。了解更多OBS授权方式请参见[OBS不同权限控制方式的区别](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
- 如果使用**IAM授权** ，那么请在"角色与策略授权"、"身份策略授权"两种IAM授权方式中选择一种，并配置相应权限：
  - 如果使用**角色与策略授权** （旧版IAM，即IAM v3接口），需具备**obs:object:ListMultipartUploadParts** 权限，授权操作请参见[创建IAM自定义策略](https://support.huaweicloud.com/usermanual-iam/iam_01_0605.html)。
  
  - 如果使用**身份策略授权** （新版IAM，即IAM v5接口），如下表所示，需具备**obs:object:listMultipartUploadParts** 权限，授权操作请参见[创建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:object:listMultipartUploadParts              | List                                                      | object \*                                                                       | [g:EnterpriseProjectId](https://support.huaweicloud.com/usermanual-iam5/iam_01_0934.html#section2)                                                                                                                                                                                                                                                                                                                                                           | -                                                                                                           | -              |
    | obs:object:listMultipartUploadParts              | List                                                      | -                                                                               | - obs:EpochTime  - obs:SourceIp  - obs:TlsVersion  - obs:CustomDomain   | -                                                                                                           | -              |
       
    
   
- 如果使用**桶策略** 进行授权，需具备**obs:object:ListMultipartUploadParts** 权限，具体操作请参见[自定义创建桶策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0123.html)。
 
#### URI
GET /{*object_key*}
#### 调用方法
请参见[如何调用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=ListParts)在线调试接口。
#### 请求消息样式
```
GET /ObjectName?uploadId=uploadid&max-parts=max&part-number-marker=marker HTTP/1.1 
Host: bucketname.obs.cn-north-4.myhuaweicloud.com 
Date: date 
Authorization: auth
```
#### URI参数（URI Parameters）
该请求通过URI参数（URI Parameters）指定多段上传任务以及列出的段数量，参数的具体含义如[表1]所示。
 表1URI参数 
| **参数名称**                                                     | **是否必选** | 参数类型    | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| uploadId                                                     | 是        | String  | **参数解释：** 多段上传任务的ID。 **约束限制：** 不涉及 **取值范围：** 长度大于0且不超过32的字符串。 **默认取值：** 不涉及                                                         |
| max-parts                                                    | 否        | Integer | **参数解释：** 指定单次返回请求中包含段的最大数目。单位：个。 **约束限制：** 不涉及 **取值范围：** \[1,1000\]，当超出范围时，按照默认的1000进行处理。 **默认取值：** 1000                                  |
| part-number -marker | 否        | Integer | **参数解释：** 指定列举的起始位置，只有上传段的段号数目大于该参数的段会被列出。 **约束限制：** 不涉及 **取值范围：** 从1到10000的整数。 **默认取值：** 不涉及                                    |
| encoding-type                                                | 否        | String  | **参数解释：** 对响应中的Key进行指定类型的编码。如果Key包含xml 1.0标准不支持的控制字符，可通过设置encoding-type对响应中的Key进行编码。 **约束限制：** 不涉及 **取值范围：** url **默认取值：** 不涉及 |
   
#### 请求头参数（Request headers）
该请求使用公共请求头，具体参见[表3](https://support.huaweicloud.com/api-obs/obs_04_0007.html#ZH-CN_TOPIC_0136436606__table25197309)。
#### 请求体参数（Request body）
该请求消息中不带请求体参数。
#### 响应消息样式
```
HTTP/1.1 status_code
Date: date
Content-Length: length
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ListPartsResult xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/"> 
    <Bucket>BucketName</Bucket> 
    <Key>object</Key> 
    <UploadId>uploadid</UploadId> 
    <Initiator> 
        <ID>id</ID>  
    </Initiator> 
    <Owner> 
        <ID>ownerid</ID> 
    </Owner> 
    <StorageClass>storageclass</StorageClass> 
    <PartNumberMarker>partNumbermarker</PartNumberMarker> 
    <NextPartNumberMarker>nextPartnumberMarker</NextPartNumberMarker> 
    <MaxParts>maxParts</MaxParts> 
    <IsTruncated>true</IsTruncated> 
    <Part> 
        <PartNumber>partNumber</PartNumber> 
        <LastModified>modifiedDate</LastModified> 
        <ETag>etag</ETag> 
        <Size>size</Size> 
    </Part> 
</ListPartsResult>
```
#### 响应头 (Response Headers)
该请求的响应消息使用公共响应头，具体请参考[表1](https://support.huaweicloud.com/api-obs/obs_04_0013.html#ZH-CN_TOPIC_0173612084__d0e686)。
#### 响应体 (Response Body)
该请求的响应通过消息元素返回已上传了的段信息，元素的具体含义如[表2]所示。
 表2响应体 
| **参数名称**        | 参数类型      | **描述**                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| ListPartsResult | Container | **参数解释：** 保存列举段请求结果的容器，ListPartsResult是Bucket、Key、UploadId、Initiator、Owner、StorageClass、PartNumberMarker、NextPartNumberMarker、MaxParts、IsTruncated、Part的父节点，请详见[ListPartsResult响应消息元素说明]。 |
   
 表3ListPartsResult响应体说明 
| **参数名称**             | 参数类型      | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| Bucket               | String    | **参数解释：** 桶名称。 **取值范围：** 长度为3\~63的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| EncodingType         | String    | **参数解释：** 对象名的编码类型。如果请求中设置了encoding-type，那响应中的Key会被编码。 **取值范围：** url                                                                                                                                                                                                                                                                                                                                                                                                                           |
| Key                  | String    | **参数解释：** 对象名称。 **取值范围：** 长度大于0且不超过1024的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| UploadId             | String    | **参数解释：** 上传任务ID。 **取值范围：** 长度大于0且不超过32的字符串。                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| Initiator            | Container | **参数解释：** 多段上传任务的创建者，Initiator是ID的父节点。请详见[Initiator响应消息元素说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| Owner                | Container | **参数解释：** 段的所有者，Owner是ID的父节点。请详见[Owner响应消息元素说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| StorageClass         | String    | **参数解释：** 存储类型。 **取值范围：** - STANDARD（标准存储）  - WARM（低频访问存储）  - COLD（归档存储）  - DEEP_ARCHIVE（深度归档存储）   |
| PartNumberMarker     | Integer   | **参数解释：** 本次列举结果的上传段的段号起始位置。 **取值范围：** \[1，10000\]                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| NextPartNumberMarker | Integer   | **参数解释：** 如果本次没有返回全部结果，响应请求中将包含NextPartNumberMarker元素，用于标明接下来请求的PartNumberMarker值。 **取值范围：** \[1，10000\]                                                                                                                                                                                                                                                                                                                                                                                        |
| MaxParts             | Integer   | **参数解释：** 单次返回请求中包含段的最大数目。单位：个。 **取值范围：** \[1，10000\]                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| IsTruncated          | Boolean   | **参数解释：** 标明是否本次返回的列举段结果列表被截断。 **取值范围：** true：表示本次没有返回全部段。 false：表示本次已经返回了全部段。                                                                                                                                                                                                                                                                                                                                                                       |
| Part                 | Container | **参数解释：** 保存段信息的容器，Part是PartNumber、LastModified、ETag、Size的父节点，请详见[Part响应消息元素说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
 表4Initiator响应体说明 
| **参数名称** | 参数类型   | **描述**                                                                                                                                                                                              |
|:---|:---|:---|
| ID       | String | **参数解释：** 多段任务创建者的urn。格式为domainID/{domainId}:userID/{userId}。 **取值范围：** 不涉及 |
   
 表5Owner响应体说明 
| **参数名称** | 参数类型   | **描述**                                                                                                                                                                           |
|:---|:---|:---|
| ID       | String | **参数解释：** 多段任务创建者的DomainId，格式为{domainId}。 **取值范围：** 不涉及 |
   
 表6Part响应体说明 
| **参数名称**     | 参数类型    | **描述**                                                                                                                                                                                                                                        |
|:---|:---|:---|
| PartNumber   | Integer | **参数解释：** 已上传段的编号。 **取值范围：** \[1，10000\]                                                                              |
| LastModified | Date    | **参数解释：** 段上传的时间。时间格式为ISO8601的格式。 例如：2018-01-01T00:00:00.000Z。 **取值范围：** 不涉及 |
| ETag         | String  | **参数解释：** 已上传段内容的ETag，是段内容的唯一标识，用于段合并时校验数据一致性。 **取值范围：** 不涉及                                                       |
| Size         | Integer | **参数解释：** 已上传段大小。 **取值范围：** 不涉及                                                                                   |
   
#### 错误响应消息
1. 如果AccessKey或签名无效，OBS返回403 Forbidden，错误码为AccessDenied。
2. 如果请求的桶不存在，OBS返回404 Not Found，错误码为NoSuchBucket。
3. 如果请求的多段上传任务不存在，OBS返回404 Not Found，错误码为NoSuchUpload。
4. OBS判断用户DomainId是否具有指定桶的读权限，如果没有权限，则OBS返回403 Forbidden，错误码为AccessDenied。
其他错误已包含在[错误码概述](https://support.huaweicloud.com/api-obs/obs_04_0115.html)中。
#### 请求示例
```
GET /object02?uploadId=00000163D40171ED8DF4050919BD02B8 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: Wed, 01 Jul 2015 05:20:35 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:xkABdSrBPrz5yqzuZdJnK5oL/yU=
```
#### 响应示例
```
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 8DF400000163D40C099A04EF4DD1BDD9
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSK71fr+hDnzB0JBvQC1B9+S12AWxC41
Content-Type: application/xml
Date: Wed, 01 Jul 2015 05:20:35 GMT
Content-Length: 888
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListPartsResult xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
  <Bucket>test333</Bucket>
  <Key>obj2</Key>
  <UploadId>00000163D40171ED8DF4050919BD02B8</UploadId>
  <Initiator>
    <ID>domainID/domainiddomainiddomainiddo000008:userID/useriduseriduseriduseridus000008</ID>
  </Initiator>
  <Owner>
    <ID>domainiddomainiddomainiddo000008</ID>
  </Owner>
  <StorageClass>STANDARD</StorageClass>
  <PartNumberMarker>1</PartNumberMarker>
  <NextPartNumberMarker>2</NextPartNumberMarker>
  <MaxParts>1000</MaxParts>
  <IsTruncated>false</IsTruncated>
  <Part>
    <PartNumber>1</PartNumber>
    <LastModified>2018-06-06T07:39:32.522Z</LastModified>
    <ETag>"b026324c6904b2a9cb4b88d6d61c81d1"</ETag>
    <Size>2058462721</Size>
  </Part>
  <Part>
    <PartNumber>2</PartNumber>
    <LastModified>2018-06-06T07:41:03.344Z</LastModified>
    <ETag>"3b46eaf02d3b6b1206078bb86a7b7013"</ETag>
    <Size>4572</Size>
  </Part>
</ListPartsResult>
```
