列举已上传未合并的段
功能介绍
用户可以通过本接口查询一个未合并任务所属的所有段信息,了解完整的分段上传流程请参见分段上传。此接口列举的各个段大小和分段上传的各个段大小一致。
请求消息样式
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
请求消息参数
该请求通过请求消息参数指定多段上传任务以及列出的段数量,参数的具体含义如表1所示。
参数名称 |
描述 |
是否必选 |
---|---|---|
uploadId |
多段上传任务的id。 类型:String 默认值:无。 |
是 |
max-parts |
规定在列举已上传段响应中的最大Part数目。 类型:Integer 默认值:1,000。 |
否 |
part-number -marker |
指定List的起始位置,只有Part Number数目大于该参数的Part会被列出。 类型:Integer 默认值:无。 |
否 |
encoding-type |
对响应中的Key进行指定类型的编码。如果Key包含xml 1.0标准不支持的控制字符,可通过设置encoding-type对响应中的Key进行编码。 类型:String 默认值:无。 可选值:url。 |
否 |
请求消息头
该请求使用公共消息头,具体请参考表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 27 |
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>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所示。
响应字段名称 |
描述 |
---|---|
ListPartsResult |
保存List Part请求结果的容器。 类型:Container 子节点: Bucket, Key, UploadId, PartNumberMarker,NextPartNumberMarker, MaxParts, IsTruncated, Part。 父节点:无。 |
Bucket |
Bucket名称。 类型:String 父节点:ListPartsResult。 |
EncodingType |
对象Key的编码类型。如果请求中设置了encoding-type,那响应中的Key会被编码。 类型: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。 |
StorageClass |
存储类型。 类型:String 有效值: STANDARD | WARM | COLD 父节点:ListPartsResult。 |
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。 |
错误响应消息
- 如果AccessKey或签名无效,OBS返回403 Forbidden,错误码为AccessDenied。
- 如果请求的桶不存在,OBS返回404 Not Found,错误码为NoSuchBucket。
- 如果请求的多段上传任务不存在,OBS返回404 Not Found,错误码为NoSuchUpload。
- 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.cn-north-4.myhuaweicloud.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 37 |
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>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> |