列举桶中已初始化多段任务
功能介绍
用户可以通过本接口查询一个桶中所有的初始化后还未合并以及未取消的多段上传任务。
请求消息样式
GET /?uploads&max-uploads=max HTTP/1.1 Host: bucketname.obs.region.example.com Date: date Authorization: authorization
请求消息参数
该请求可以通过在请求消息中指定参数,查询指定范围的多段上传任务,请求参数说明如表1所示。
参数名称 |
描述 |
是否必选 |
---|---|---|
delimiter |
对于名字中包含delimiter的对象的任务,其对象名(如果请求中指定了prefix,则此处的对象名需要去掉prefix)中从首字符至第一个delimiter之间的字符串将作为CommonPrefix在响应中返回。对象名包含CommonPrefix的任务被视为一个分组,作为一条记录在响应中返回,该记录不包含任务的信息,仅用于提示用户该分组下存在多段上传任务。 类型:String |
否 |
prefix |
如果请求中指定了prefix,则响应中仅包含对象名以prefix开始的任务信息。 类型:String |
否 |
max-uploads |
列举的多段任务的最大条目,取值范围为[1,1000],当超出范围时,按照默认的1000进行处理。 类型:Integer |
否 |
key-marker |
列举时返回指定的key-marker之后的多段任务。 类型:String |
否 |
upload-id-marker |
只有和key-marker一起使用才有意义, 列举时返回指定的key-marker的upload-id-marker之后的多段任务。 类型:String |
否 |
请求消息头
该请求使用公共请求消息头,具体请见表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 |
HTTP/1.1 status_code
Date: date
Content-Length: length
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListMultipartUploadsResult xmlns="http://obs.region.example.com/doc/2015-06-30/">
<Bucket>bucketname</Bucket>
<KeyMarker/>
<UploadIdMarker/>
<NextKeyMarker>nextMarker</NextKeyMarker>
<NextUploadIdMarker>idMarker</NextUploadIdMarker>
<MaxUploads>maxUploads</MaxUploads>
<IsTruncated>true</IsTruncated>
<Upload>
<Key>key</Key>
<UploadId>uploadID</UploadId>
<Initiator>
<ID>domainID/domainID:userID/userID</ID>
</Initiator>
<Owner>
<ID>ownerID</ID>
</Owner>
<StorageClass>storageclass</StorageClass>
<Initiated>initiatedDate</Initiated>
</Upload>
</ListMultipartUploadsResult>
|
响应消息头
该请求的响应消息使用公共消息头,具体请参考表1。
响应消息元素
该请求的响应消息中通过消息元素返回多段上传任务,元素的具体意义如表2所示。
元素名称 |
描述 |
---|---|
ListMultipartUploadsResult |
保存List Multipart Upload请求结果的容器。 类型:Container 子节点: Bucket, KeyMarker , UploadIdMarker, NextKeyMarker, NextUploadIdMarker, MaxUploads, Delimiter, Prefix, Upload, CommonPrefixes, IsTruncated。 父节点:None。 |
Bucket |
初始化任务所在的桶名。 类型:String 父节点: ListMultipartUploadsResult。 |
KeyMarker |
列举时的起始对象位置。 类型:String 父节点: ListMultipartUploadsResult。 |
UploadIdMarker |
列举时的起始UploadId位置。 类型:String 父节点: ListMultipartUploadsResult。 |
NextKeyMarker |
如果本次没有返回全部结果,响应请求中将包含NextKeyMarker字段,用于标明接下来请求的KeyMarker值。 类型:String 父节点: ListMultipartUploadsResult。 |
NextUploadIdMarker |
如果本次没有返回全部结果,响应请求中将包含NextUploadIdMarker元素,用于标明接下来请求的UploadMarker值。 类型:String 父节点: ListMultipartUploadsResult。 |
MaxUploads |
返回的最大多段上传任务数目。 类型:Integer 父节点: ListMultipartUploadsResult。 |
IsTruncated |
表明是否本次返回的Multipart Upload结果列表被截断。“true”表示本次没有返回全部结果;“false”表示本次已经返回了全部结果。 类型:Boolean。 父节点: ListMultipartUploadsResult。 |
Upload |
保存Multipart Upload任务信息的容器。 类型:Container 子节点: Key, UploadId, InitiatorOwner, StorageClass, Initiated。 父节点: ListMultipartUploadsResult。 |
Key |
初始化Multipart Upload任务的Object名字。 类型:String 父节点: Upload。 |
UploadId |
Multipart Upload任务的ID。 类型:String 父节点: Upload。 |
Initiator |
Multipart Upload任务的创建者。 子节点: ID。 类型:Container 父节点: Upload。 |
ID |
创建者的DomainId。 类型:String 父节点: Initiator, Owner。 |
Owner |
段的所有者。 类型:Container 子节点: ID 父节点: Upload。 |
StorageClass |
表明待多段上传的对象存储类型。 类型:String 父节点: Upload。 |
Initiated |
Multipart Upload任务的初始化时间。 类型:Date。 父节点: Upload。 |
ListMultipartUploadsResult.Prefix |
请求中带的Prefix。 类型:String 父节点: ListMultipartUploadsResult。 |
Delimiter |
请求中带的Delimiter。 类型:String 父节点: ListMultipartUploadsResult。 |
CommonPrefixes |
请求中带Delimiter参数时,返回消息带CommonPrefixes分组信息。 类型:Container 父节点: ListMultipartUploadsResult。 |
CommonPrefixes. Prefix |
CommonPrefixes分组信息中,表明不同的Prefix。 类型:String 父节点: CommonPrefixes。 |
请求示例:不带任何参数列举已初始化的段任务
1 2 3 4 5 6 |
GET /?uploads HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 04:51:21 GMT
Authorization: OBS UDSIAMSTUBTEST000008:XdmZgYQ+ZVy1rjxJ9/KpKq+wrU0=
|
响应示例:不带任何参数列举已初始化的段任务
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 |
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 8DF400000163D405534D046A2295674C
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSDaHP+a+Bp0RI6Mm9XvCOrf7q3qvBQW
Content-Type: application/xml
Date: WED, 01 Jul 2015 04:51:21 GMT
Content-Length: 681
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListMultipartUploadsResult xmlns="http://obs.example.com/doc/2015-06-30/">
<Bucket>examplebucket</Bucket>
<KeyMarker/>
<UploadIdMarker/>
<Delimiter/>
<Prefix/>
<MaxUploads>1000</MaxUploads>
<IsTruncated>false</IsTruncated>
<Upload>
<Key>obj2</Key>
<UploadId>00000163D40171ED8DF4050919BD02B8</UploadId>
<Initiator>
<ID>domainID/b4bf1b36d9ca43d984fbcb9491b6fce9:userID/71f390117351534r88115ea2c26d1999</ID>
</Initiator>
<Owner>
<ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID>
</Owner>
<StorageClass>STANDARD</StorageClass>
<Initiated>2015-07-01T02:30:54.582Z</Initiated>
</Upload>
</ListMultipartUploadsResult>
|
请求示例:带prefix和delimeter列举已初始化的段任务
例如,用户桶examplebucket中2个段任务,对象名分别为multipart-object001和part2-key02,列举段任务时,设置prefix为“multipart",delimeter设置为object001,列举已初始化的段任务。
GET /?uploads&delimiter=object001&prefix=multipart HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.example.com Accept: */* Date: WED, 01 Jul 2015 04:51:21 GMT Authorization: OBS UDSIAMSTUBTEST000008:XdmZgYQ+ZVy1rjxJ9/KpKq+wrU0=
响应示例:带prefix和delimeter列举已初始化的段任务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 5DEB00000164A27A1610B8250790D703
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSq3ls2ZtLDD6pQLcJq1yGITXgspSvBR
Content-Type: application/xml
Date: WED, 01 Jul 2015 04:51:21 GMT
Content-Length: 681
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListMultipartUploadsResult xmlns="http://obs.example.com/doc/2015-06-30/">
<Bucket>newbucket0001</Bucket>
<KeyMarker></KeyMarker>
<UploadIdMarker>
</UploadIdMarker>
<Delimiter>object</Delimiter>
<Prefix>multipart</Prefix>
<MaxUploads>1000</MaxUploads>
<IsTruncated>false</IsTruncated>
<CommonPrefixes>
<Prefix>multipart-object001</Prefix>
</CommonPrefixes>
</ListMultipartUploadsResult>
|