该操作用于列出一次分片上传过程中已经上传完成的所有片段。
该操作必须包含一个通过Initial Multipart Upload操作获取的上传ID。该请求最多返回1000个上传片段信息,默认返回的片段数是1000。用户可以通过指定max-parts参数来指定一次请求返回的片段数。如果用户的分片上传过程超过1000个片段,响应中的IsTruncated字段的值则被设置成true,并且指定一个NextPartNumberMarker元素。用户可以在下一个连续的List Part请求中加入part-number-marker参数,并把它的值设置成上一个请求返回的NextPartNumberMarker值。
请求语法
GET /ObjectName?uploadId=UploadId HTTP/1.1
Host: BucketName.oos-cn.ctyunapi.cn
Date: Date
Authorization: SignatureValue
请求头
名称 | 描述 | 是否必须 |
---|---|---|
uploadId | 该ID用来标识一个分片上传过程。 类型:字符串。 |
是 |
max-parts | 设置响应体中返回的片段的最大数目。 类型:字符串。 取值:[1, 1000],默认值为1000。 |
否 |
part-number-marker | 指定此次列表的起始片段的分片号,只有比该片段的分片号更高的片段才会被列举出来。 类型:字符串。 |
否 |
encoding-type | 指定响应中Key的编码类型。如果Key包含xml 1.0标准不支持的控制字符,可通过设置该参数对响应中的Key进行编码。 类型:字符串。 取值:url,字母不区分大小写。 |
否 |
响应结果
名称 描述 ListPartsResult 包含整个响应的容器。
类型:容器。
子节点:Bucket、EncodingType、Key、UploadId、Initiator、Owner、StorageClass、PartNumberMarker、NextPartNumberMarker、MaxParts、IsTruncated、Part。
Bucket 分片上传对应的bucket名称。
类型:字符串。
父节点:ListPartsResult。
EncodingType Key的编码类型。
类型:字符串。
父节点:ListPartsResult。
Key 新创建的文件的Key。
类型:字符串。
父节点:ListPartsResult。
UploadId 分片上传ID。
类型:字符串。
父节点:ListPartsResult。
Initiator 指定执行此次分片上传过程的用户账户。
类型:容器。
父节点:ListPartsResult。
子节点:ID、DisplayName。
ID OOS账户的ID。
类型:字符串。
父节点:Initiator。
DisplayName OOS账户的账户名。
类型:字符串。
父节点:Initiator。
StorageClass 文件的存储类型:
STANDARD:标准存储。
STANDARD_IA:低频访问存储。
类型:字符串。
父节点:ListPartsResult。
PartNumberMarker 列表起始位置的片段的分片号。
类型:整型。
父节点:ListPartsResult。
NextPartNumberMarker 当此次请求没有将所有片段列举完时,此元素指定列表中的最后一个片段的分片号。此分片号用于作为下一次连续列表请求的part-number-marker参数的值。
类型:整型。
父节点:ListPartsResult。
MaxParts 响应中片段的最大数目。
类型:整型。
父节点:ListPartsResult。
IsTruncated 标识此次分片上传过程中的所有片段是否全部被列出,如果为true则表示没有全部列出。如果分片上传过程的片段数超过了MaxParts元素指定的最大数,则会导致一次列表请求无法将所有片段数列出。
类型:Boolean。
父节点:ListPartsResult。
Part 与某个片段对应的容器,响应中可能包含0个或多个Part元素。
类型:容器。
父节点:ListPartsResult。
子节点:PartNumber、LastModified、ETag、Size。
PartNumber 标识片段的分片号。
类型:整型。
父节点:Part。
LastModified 片段上传完成的日期。
类型:Date。
父节点:Part。
ETag 片段上传完成时返回的ETag值。
类型:字符串。
父节点:Part。
Size 片段的数据大小。
类型:整型。
父节点:Part。
请求示例
假设用户上传了一系列以1开头的有连续分片号的片段,下面的List Part请求指定了max-parts和part-number-marker查询参数。此次请求列出了紧随片段1的两个片段,从请求响应体中可以获取到片段2和片段3。如果有更多的片段存在,则片段列表操作没有完成,响应体中将会包含值为true的IsTruncated元素。同时,响应体中还会包含值为3的NextPartNumberMarker元素,这个值用来指定在下一次连续的列表操作中part-number-marker参数的值。
GET /example-object?uploadId=668428231343369399&max-parts=2&part-number-marker=1 HTTP/1.1
Host: example-bucket.oos-cn.ctyunapi.cn
Date: Mon, 1 Nov 2010 20:34:56 GMT
Authorization: SignatureValue
响应示例
HTTP/1.1 200 OK
x-amz-request-id: c5af22da52524558f16457665b686a702f313b2527292b2d2f
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 1014
Connection: keep-alive
Server: CTYUN
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Bucket>example-bucket</Bucket>
<EncodingType></EncodingType>
<Key>example-object</Key>
<UploadId>1638428231343309399</UploadId>
<Initiator>
<ID>mailaddress@ctyun.cn</ID>
<DisplayName>umat-user-11116a31-17b5-4fb7-9df5-b288870f11xx</DisplayName>
</Initiator>
<Owner>
<ID></ID>
<DisplayName></DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
<PartNumberMarker>1</PartNumberMarker>
<NextPartNumberMarker>3</NextPartNumberMarker>
<MaxParts>2</MaxParts>
<IsTruncated>true</IsTruncated>
<Part>
<PartNumber>2</PartNumber>
<LastModified>2010-11-10T20:48:34.000Z</LastModified>
<ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>
<Size>10485760</Size>
</Part>
<Part>
<PartNumber>3</PartNumber>
<LastModified>2010-11-10T20:48:33.000Z</LastModified>
<ETag>"aaaa18db4cc2f85cedef654fccc4a4x8"</ETag>
<Size>10485760</Size>
</Part>
</ListPartsResult>