該操作用于列出一次分片上傳過程中已經上傳完成的所有片段。
該操作必須包含一個通過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="//s3.amazonaws.com/doc/2006-03-01/">
<Bucket>example-bucket</Bucket>
<EncodingType></EncodingType>
<Key>example-object</Key>
<UploadId>1638428231343309399</UploadId>
<Initiator>
<ID>mailaddress@daliqc.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>