該接口用于列出所有已經通過Initiate Multipart Upload請求初始化,但未完成或未終止的分片上傳過程。
響應中最多返回1000個分片上傳過程的信息,它既是響應能返回的最大分片上傳過程數目,也是請求的默認值。用戶也可以通過設置max-uploads參數來限制響應中的分片上傳過程數目。如果當前的分片上傳過程數超出了這個值,則響應中會包含一個值為true的IsTruncated元素。如果用戶要列出多于這個值的分片上傳過程信息,則需要繼續調用List Multipart Uploads請求,并在請求中設置key-marker和upload-id-marker參數。
在響應體中,分片上傳過程的信息通過key來排序。如果用戶的應用程序中啟動了多個使用同一key文件開頭的分片上傳過程,那么響應體中分片上傳過程首先是通過key來排序,在相同key的分片上傳內部則是按上傳啟動的起始時間的升序來進行排列。
請求語法
GET /?uploads HTTP/1.1
Host: BucketName.oos-cn.ctyunapi.cn
Date: Date
Authorization: SignatureValue
請求參數
| 名稱 | 描述 | 是否必須 |
|---|---|---|
| BucketName | 存儲桶名稱。 | 是 |
| delimiter | 分隔符,一個用來對關鍵字們進行分組的字符。所有的關鍵字都包含delimiter和prefix間的相同子串,prefix之后第一個遇到delimiter的字符串都會加到一個叫CommonPrefix的組中。如果沒有特別定義prefix,所有的關鍵字都會被返回,但不會有CommonPrefix。delimiter只支持”/”,不支持其他分隔符。 類型:字符串。 |
否 |
| max-uploads | 設置返回的分片上傳過程的最大數目。 類型:整型。 取值:[1, 1000]。 默認值:1000。 |
否 |
| key-marker | 與upload-id-marker參數一起,該參數指定列表操作從什么位置后面開始。如果upload-id-marker參數沒有被指定,那么只有比key-marker參數指定的key更大的key會被列出。如果upload-id-marker參數被指定,任何包含與key-marker指定值相等或大于key的分片上傳過程都會被包括,假設這些分片上傳過程包含了比upload-id-marker指定值更大的ID。 類型:字符串。 |
否 |
| prefix | 該參數用于列出那些以prefix為前綴的正在進行的上傳過程,用戶可以使用多個prefix來把一個bucket分成不同的組(可以考慮采用類似文件系統中的文件夾的作用那樣,使用prefix來對key進行分組)。 類型:字符串。 |
否 |
| encoding-type | 指定響應中KeyMarker、NextKeyMarker、Key、Prefix、Delimiter的編碼類型。如果KeyMarker、NextKeyMarker、Key、Prefix、Delimiter包含xml 1.0標準不支持的控制字符,可通過設置該參數對響應中的KeyMarker、NextKeyMarker、Key、Prefix、Delimiter進行編碼。 類型:字符串。 取值:url,字母不區分大小寫。 |
否 |
| upload-id-marker | 與key-marker參數一起,指定列表操作從什么位置后面開始。如果key-marker沒有被指定,upload-id-marker參數也會被忽略。否則,任何key值等于或大于key-marker的上傳過程都會被包含在列表中,只要ID大于upload-id-marker指定的值。 | 否 |
響應結果
名稱 描述 ListMultipartUploadsResult 包含整個響應的容器。
類型:容器。
子節點:Bucket、KeyMarker、UploadIdMarker、NextKeyMarker、NextUploadIdMarker、Maxuploads、Delimiter、Prefix、CommonPrefixes、IsTruncated、EncodingType、Upload。
Bucket 分片上傳對應的容器名稱。
類型:字符串。
父節點:ListMultipartUploadsResult。
KeyMarker 指定key值,在這個key當前位置或它之后開始列表操作。
類型:字符串。
父節點:ListMultipartUploadsResult。
UploadIdMarker 指定分片上傳ID,在這個ID所在位置之后開始列表操作。
類型:字符串。
父節點:ListMultipartUploadsResult。
NextKeyMarker 當此次列表不能將所有正在執行的分片上傳過程列舉完成時,NextKeyMarker作為下一次列表請求的key-marker參數的值。
類型:字符串。
父節點:ListMultipartUploadsResult。
NextUploadIdMarker 當此次列表不能將所有正在執行的分片上傳過程列舉完成時,NextKeyMarker作為下一次列表請求的upload-id-marker參數的值。
類型:字符串。
父節點:ListMultipartUploadsResult。
MaxUploads 響應中包含的上傳過程的最大數目。
類型:字符串。
父節點:ListMultipartUploadsResult。
IsTruncated 標識此次分片上傳過程中的所有片段是否全部被列出,如果為true則表示沒有全部列出。如果分片上傳過程的片段數超過了MaxParts元素指定的最大數,則會導致一次列表請求無法將所有片段數列出。
類型:Boolean。
父節點:ListMultipartUploadsResult。
EncodingType KeyMarker、NextKeyMarker、Key、Prefix、Delimiter的編碼類型。
類型:字符串。
父節點:ListMultipartUploadsResult。
Upload 某個分片上傳過程的容器,響應體中可能包含0個或多個Upload元素。
類型: 容器。
父節點: ListMultipartUploadsResult。
子節點: Key、UploadId、Initiator、Owner、StorageClass、Initiated。
Key 分片上傳過程起始位置文件的Key值。
類型: String。
父節點: Upload。
UploadId 分片上傳過程的ID號。
類型: 整型。
父節點: Upload。
Initiator 指定執行此次分片上傳過程的用戶賬戶。
類型:容器。
父節點:Upload。
子節點:ID,DisplayName。
ID OOS賬戶的ID。
類型:字符串。
父節點:Initiator。
StorageClass 文件的存儲類型:
STANDARD
STANDARD_IA
類型:字符串。
父節點:Upload。
Initiated 分片上傳過程啟動的時間。
類型:Date。
父節點:Upload。
Prefix 如果請求中包含了Prefix參數,則這個字段會包含Prefix的值。返回的結果只包含那些key值以Prefix開頭的文件。
類型:字符串。
父節點:ListMultipartUploadsResult。
Delimiter 分割符,用來對關鍵字們進行分組的字符。所有的關鍵字都包含delimiter和prefix間的相同子串,prefix之后第一個遇到delimiter的字符串都會加到一個叫CommonPrefix的組中。如果沒有特別定義prefix,所有的關鍵字都會被返回,但不會有CommonPrefix。
類型:字符串。
父節點:ListMultipartUploadsResult。
CommonPrefixes 當定義delimiter之后,返回結果中會包含CommonPrefixes,CommonPrefix中包含以prefix開頭,delimiter結束的字符串組合,例如prefix是note/,同時delimiter是斜杠(/),結果中的note/summer/july/lotus.jpg將返回note/summer/,其余結果將按照max-uploads要求返回。
類型:容器。
父節點:ListMultipartUploadsResult。
子節點:Prefix。
CommonPrefixes.Prefix 如果請求中不包含Prefix參數,那么這個元素只顯示那些在delimiter字符第一次出現之前的key的子字符串,且這些key不在響應的其它位置出現。
如果請求中包含Prefix參數,那么這個元素顯示在prefix之后,到第一次出現delimiter之間的子串。
類型:字符串。
父節點:CommonPrefixes。
請求示例
下面的請求列出正在進行的三個分片上傳過程。請求指定了max-uploads參數來設置響應中返回的分片上傳過程的最大數目。
GET?/?uploads&max-uploads=3?HTTP/1.1
Host:?example-bucket.oos-cn.ctyunapi.cn
Date:?Mon,?1?Nov?2010?20:34:56?GMT
Authorization: SignatureValue
響應示例
下面的示例表示這次List操作無法將分片上傳過程列舉完,需要指定NextKeyMarker和NextUploadIdMarker元素。用戶需要在下一次List操作中指定這兩個值。也就是說,在下一次List操作中指定 key-marker =my-image.my(NextKeyMarker的值)和 upload-id-marker =AW56IGBkZQEgd3h6ILVsdmluUydzIWVwbP9hTCAmQZlsQZW(NextUploadIdMarker的值)。
響應示例中也顯示了一個兩個分片上傳過程擁有同一個key(my-image.my)的例子。響應包含了兩個通過key來排序的上傳過程,在每個key內部上傳過程是根據上傳啟動的起始時間來排序的。
HTTP/1.1?200?OK
x-amz-request-id:?eec6eee8e3ff42e305786b7a6f7c7e8443454c393b3d3f4143
Date:?Mon,?1?Nov?2010?20:34:56?GMT
Content-Length:?1359
Server:?CTYUN
<?xml?version="1.0"?encoding="UTF-8"?>
<ListMultipartUploadsResult?xmlns="//s3.amazonaws.com/doc/2006-03-01/">
??<Bucket>bucket</Bucket>
??<KeyMarker></KeyMarker>
??<UploadIdMarker></UploadIdMarker>
??<NextKeyMarker>?my-image.my</NextKeyMarker>
??<NextUploadIdMarker>1638428231343309201</NextUploadIdMarker>
??<MaxUploads>3</MaxUploads>
??<IsTruncated>true</IsTruncated>
??<EncodingType></EncodingType>
??<Upload>
????<Key>my-divisor</Key>
????<UploadId>1638428231343309198</UploadId>
????<Initiator>
??????<ID>mailaddress@daliqc.cn</ID>
??????<DisplayName>?</DisplayName>
????</Initiator>
????<Owner>
??????<ID></ID>
??????<DisplayName></DisplayName>
????</Owner>
????<StorageClass>STANDARD</StorageClass>
????<Initiated>2010-11-10T20:48:33.000Z</Initiated>
??</Upload>
??<Upload>
????<Key>my-movie.m2ts</Key>
????<UploadId>1638428231343309199</UploadId>
????<Initiator>
??????<ID>mailaddress@daliqc.cn</ID>
??????<DisplayName>?</DisplayName>
????</Initiator>
????<Owner>
??????<ID>?</ID>
??????<DisplayName>?</DisplayName>
????</Owner>
????<StorageClass>STANDARD</StorageClass>
????<Initiated>2010-11-10T20:48:33.000Z</Initiated>
??</Upload>
??<Upload>
????<Key>?my-image.my</Key>
????<UploadId>1638428231343309200</UploadId>
????<Initiator>
??????<ID>mailaddress@daliqc.cn</ID>
??????<DisplayName>?</DisplayName>
????</Initiator>
????<Owner>
??????<ID>?</ID>
??????<DisplayName>?</DisplayName>
????</Owner>
????<StorageClass>STANDARD</StorageClass>
????<Initiated>2010-11-10T20:49:33.000Z</Initiated>
??</Upload>
</ListMultipartUploadsResult>