开发者社区> 问答> 正文

关于MultipartUpload的操作之ListParts?

List Parts命令可以罗列出指定Upload ID所属的所有已经上传成功Part。

请求语法Get  /ObjectName?uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: Signature





请求参数(Request Parameters)

名称描述
uploadIdMultipart Upload事件的ID。 类型:字符串 默认值:无
max-parts规定在OSS响应中的最大Part数目。 类型:整数 默认值:1,000
part-number-marker指定List的起始位置,只有Part Number数目大于该参数的Part会被列出。 类型:整数 默认值:无
encoding-type指定对返回的内容进行编码,指定编码的类型。Key使用UTF-8字符,但xml 1.0标准不支持解析一些控制字符,比如ascii值从0到10的字符。对于Key中包含xml 1.0标准不支持的控制字符,可以通过指定encoding-type对返回的Key进行编码。数据类型:字符串默认值:无,可选值:url


响应元素(Response Elements)

名称描述
ListPartsResult保存List Part请求结果的容器。 类型:容器 子节点:Bucket, Key, UploadId, PartNumberMarker, NextPartNumberMarker, MaxParts, IsTruncated, Part 父节点:无
BucketBucket名称。 类型:字符串 父节点:ListPartsResult
EncodingType指明对返回结果进行编码使用的类型。如果请求的参数中指定了encoding-type,那会对返回结果中的Key进行编码。类型:字符串父节点:ListPartsResult
KeyObject名称。 类型:字符串 父节点:ListPartsResult
UploadIdUpload事件ID。 类型:字符串 父节点:ListPartsResult
PartNumberMarker本次List结果的Part Number起始位置。 类型:整数 父节点:ListPartsResult
NextPartNumberMarker如果本次没有返回全部结果,响应请求中将包含NextPartNumberMarker元素,用于标明接下来请求的PartNumberMarker值。 类型:整数 父节点:ListPartsResult
MaxParts返回请求中最大的Part数目。 类型:整数 父节点:ListPartsResult
IsTruncated标明是否本次返回的List Part结果列表被截断。“true”表示本次没有返回全部结果;“false”表示本次已经返回了全部结果。 类型:枚举字符串 有效值:true、false 父节点:ListPartsResult
Part保存Part信息的容器。 类型:字符串 子节点:PartNumber,LastModified, ETag, Size 父节点:ListPartsResult
PartNumber标示Part的数字。 类型:整数 父节点:ListPartsResult.Part
LastModifiedPart上传的时间。 类型:日期 父节点:ListPartsResult.part
ETag已上传Part内容的ETag。 类型:字符串 父节点:ListPartsResult.Part
Size已上传Part大小。 类型:整数 父节点:ListPartsResult.Part


细节分析

  1. List Parts支持max-parts和part-number-marker两种请求参数。
  2. max-parts参数最大值为1000;默认值也为1000。
  3. 在OSS的返回结果按照Part号码升序排列。
  4. 由于网络传输可能出错,所以不推荐用List Part出来的结果(Part Number和ETag值)来生成最后Complete Multipart的Part列表。


示例


[backcolor=transparent]请求示例: Get  /multipart.data?uploadId=0004B999EF5A239BB9138C6227D69F95  HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Thu, 23 Feb 2012 07:13:28 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfj byc:4qOnUMc9UQWqkz8wDqD3lIsa9P8=


[backcolor=transparent]返回示例: HTTP/1.1 200
Server: AliyunOSS
Connection: keep-alive
Content-length: 1221
Content-type: application/xml
x-oss-request-id: 106452c8-10ff-812d-736e-c865294afc1c
Date: Thu, 23 Feb 2012 07:13:28 GMT

<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”>
    <Bucket>multipart_upload</Bucket>
    <Key>multipart.data</Key>
    <UploadId>0004B999EF5A239BB9138C6227D69F95</UploadId>
    <NextPartNumberMarker>5</NextPartNumberMarker>
    <MaxParts>1000</MaxParts>
    <IsTruncated>false</IsTruncated>
    <Part>
        <PartNumber>1</PartNumber>
        <LastModified>2012-02-23T07:01:34.000Z</LastModified>
        <ETag>"3349DC700140D7F86A078484278075A9"</ETag>
        <Size>6291456</Size>
    </Part>
    <Part>
        <PartNumber>2</PartNumber>
        <LastModified>2012-02-23T07:01:12.000Z</LastModified>
        <ETag>"3349DC700140D7F86A078484278075A9"</ETag>
        <Size>6291456</Size>
    </Part>
    <Part>
        <PartNumber>5</PartNumber>
        <LastModified>2012-02-23T07:02:03.000Z</LastModified>
        <ETag>"7265F4D211B56873A381D321F586E4A9"</ETag>
        <Size>1024</Size>
    </Part>
</ListPartsResult>

展开
收起
青衫无名 2017-10-23 09:59:47 2169 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Architecting a Multi-Tenanted 立即下载
Architecting a Multi-Tenanted Platform 立即下载
Bulletproof Jobs @ Scale Patterns for Spark Magic 立即下载