更新时间:2024-04-15 GMT+08:00

列举已上传的段

功能介绍

用户可以通过本接口查询一个任务所属的所有段信息。此接口列举的各个段大小和分段上传的各个段大小一致。

请求消息样式

GET /ObjectName?uploadId=uploadid&max-parts=max&part-number-marker=marker HTTP/1.1 
Host: bucketname.obs.region.example.com
Date: date 
Authorization: auth

请求消息参数

该请求通过请求消息参数指定多段上传任务以及列出的段数量,参数的具体含义如表1所示。

表1 请求消息参数

参数名称

描述

是否必选

uploadId

多段上传任务的id。

类型:String

默认值:无。

max-parts

规定在列举已上传段响应中的最大Part数目。

类型:Integer

默认值:1,000。

part-number

-marker

指定List的起始位置,只有Part Number数目大于该参数的Part会被列出。

类型:Integer

默认值:无。

请求消息头

该请求使用公共消息头,具体请参考表3

请求消息元素

该请求消息中不使用消息元素。

响应消息样式

 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
HTTP/1.1 status_code
Date: date
Content-Length: length

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ListPartsResult xmlns="http://obs.region.example.com/doc/2015-06-30/">
    <Bucket>BucketName</Bucket> 
    <Key>object</Key> 
    <UploadId>uploadid</UploadId> 
    <Initiator> 
        <ID>id</ID>  
    </Initiator> 
    <Owner> 
        <ID>ownerid</ID> 
    </Owner> 
    <PartNumberMarker>partNmebermarker</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>

响应消息头

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

响应消息元素

该请求的响应通过消息元素返回已上传了的段信息,元素的具体含义如表2所示。

表2 响应消息元素

响应字段名称

描述

ListPartsResult

保存List Part请求结果的容器。

类型:Container

子节点: Bucket, Key, UploadId, PartNumberMarker,NextPartNumberMarker, MaxParts, IsTruncated, Part。

父节点:无。

Bucket

Bucket名称。

类型:String

父节点:ListPartsResult。

Key

Object名称。

类型:String

父节点:ListPartsResult。

UploadId

Upload任务ID。

类型:String

父节点:ListPartsResult。

Initiator

Upload任务的创建者。

类型:Container

子节点:ID。

父节点:ListPartsResult。

Owner

和Initiator相同。

类型:Container

子节点: ID。

父节点: ListPartsResult。

ID

创建者的DomainId。

类型:String

父节点: Initiator、Owner。

PartNumberMarker

本次List结果的Part Number起始位置。

类型:Integer

父节点:ListPartsResult。

NextPartNumberMarker

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

类型:Integer

父节点:ListPartsResult。

MaxParts

返回请求中最大的Part数目。

类型:Integer

父节点:ListPartsResult。

IsTruncated

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

类型:Boolean。

父节点:ListPartsResult。

Part

保存Part信息的容器。

类型:String

子节点:PartNumber, LastModified, ETag, Size。

父节点:ListPartsResult。

(PartNumber表示Part的数字。)

PartNumber

已上传Part的编号。

类型:Integer

父节点:ListPartsResult.Part。

LastModified

Part上传的时间。

类型:Date

父节点:ListPartsResult.part。

ETag

已上传段内容的ETag,是段内容的唯一标识,用于段合并时校验数据一致性。

类型:String

父节点:ListPartsResult.Part

Size

已上传Part大小。

类型:Integer

父节点:ListPartsResult.Part。

错误响应消息

  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。

其他错误已经包含在表2中。

请求示例

1
2
3
4
5
6
GET /object02?uploadId=00000163D40171ED8DF4050919BD02B8 HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 05:20:35 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:xkABdSrBPrz5yqzuZdJnK5oL/yU=

响应示例

 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
31
32
33
34
35
36
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.example.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>
  <PartNumberMarker>0</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>