7. 大对象分块接口¶
大对象可以调用分块上传接口来提高上传成功率,该接口支持断点续传和并发上传。上传数 据分块最小16k,最大100M(最后一块除外)。
7.1. Initiate Multipart Upload¶
7.1.1. 描述¶
使用Multipart Upload模式传输数据前,必须先调用该接口来通知NOS初始化一个Multipart Upload事件。该接口会返回一个NOS服务器创建的全局唯一的Upload ID,用于标识本次 Multipart Upload事件。用户可以根据这个ID来发起相关的操作,如中止Multipart Upload、 查询Multipart Upload等。
7.1.2. 语法¶
POST /${ObjectKey}?uploads HTTP/1.1
HOST: ${BucketName}.${endpoint}
Content-Length: ${length}
Date: ${date}
Authorization: ${signature}
7.1.3. 请求头定义¶
参数 | 描述 | 是否必须 |
---|---|---|
x-nos-meta- | 以该前缀开头的header都将被认为是用户自定义的元数据,比如:x-nos-meta-title: TITLE 这个header会把title:TITLE作为用户自定义元数据key-value对。
类型:字符串
默认:无
|
No |
7.1.4. 响应元素¶
元素 | 描述 |
---|---|
InitiateMultipartUploadResult | 响应容器元素
类型:容器
子节点:Key,Bucket
|
Key | 对象的Key
类型:字符串
父节点:InitiateMultipartUploadResult
|
Bucket | 对象的桶
类型:字符串
父节点:InitiateMultipartUploadResult
|
UploadId | 分块上传的ID,用这个ID来作为各块属于这个文件的标识
类型:字符串
父节点:InitiateMultipartUploadResult
|
7.1.5. 示例¶
Request
POST /movie.avi?uploads HTTP/1.1
HOST: filestation.nos-eastchina1.126.net
Content-Length: 401
Date: Fri, 10 Feb 2012 21:34:55 GMT
Authorization: NOS I_AM_ACCESS_ID:I_AM_SIGNATURE
Response
HTTP/1.1 200 OK
x-nos-request-id: 17b21e42ac11000001390ab891440240
Date: Wed, 01 Mar 2012 21:34:55 GMT
Content-Length: 197
Connection: close
Server: NOS
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult>
<Bucket>filestation</Bucket>
<Key>movie.avi</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3S5tMnRzIHVwbG9hZA</UploadId>
</InitiateMultipartUploadResult>
7.1.6. 细节描述¶
- 如果Bucket不存在,返回404 no content错误。错误码:NoSuchBucket。
- 只有Bucket的拥有者才能操作大对象分块接口。非Bucket拥有者执行此类操作将返回403 Forbidden错误。错误码:AccessDenied。
- Object名最大长度为1000,如果超出,返回400 Bad Request。错误码:KeyTooLong。
- 相同Object能进行多次初始化,得到多个UploadId,后完成的多块上传将覆盖先完成的Object(如果开启版本号,先完成的多块上传将入历史版本)。
- HTTP请求头Content-Length必须,否则返回411 Length Required消息。错误码:MissingContentLength。
7.2. Upload part¶
7.2.1. 描述¶
传输一个数据块之前需要先调用初始化操作(Initiate Multipart Upload)。在初始化一个 Multipart Upload之后,可以根据指定的Object名和Upload ID来分块(Part)上传数据。 每一个上传的Part都有一个标识它的号码(part number,范围是1~10,000)。对于同一个Upload ID, 该号码不但唯一标识这一块数据,也标识了这块数据在整个文件内的相对位置。 如果你用同一个part号码,上传了新的数据,那么NOS上已有的这个号码的Part数据将被覆 盖,单块限制为最小为16k,最大为100M,最后一块则没有最大小限制。
7.2.2. 语法¶
PUT /${ObjectKey}?partNumber=${partNumber}&uploadId=${uploadId} HTTP/1.1
HOST: ${BucketName}.${endpoint}
Date: ${date}
Content-Length: ${size}
Authorization: ${signature}
7.2.3. 请求头¶
Header | 描述 | 是否必须 |
---|---|---|
Content-Length | Entity Body的长度 类型:整型 默认:无 | Yes |
Content-MD5 | Entity Body的MD5摘要 类型:字符串 默认:无 | No |
7.2.4. 特殊错误码¶
错误码 | Http状态码 | 描述 |
---|---|---|
NoSuchUpload | 404 Not Found | 对应的分块上传不存在,可能原因:uploadId非法、已经执行了abort、已经执行了complete等 |
7.2.5. 示例¶
Request
PUT /movie.avi?partNumber=1&uploadId=23r54i252358235-32523f23 HTTP/1.1
HOST: filestation.nos-eastchina1.126.net
Date: Fri, 10 Feb 2012 21:34:55 GMT
Content-Length: 1046203
Content-MD5: bb69583fd4da5970a86aa47c0da561ad
Authorization: NOS I_AM_ACCESS_ID:I_AM_SIGNATURE
[1046203 bytes of part data]
Response
HTTP/1.1 200 OK
x-nos-request-id: 17b21e42ac11000001390ab891440240
Date: Wed, 01 Mar 2012 21:34:55 GMT
ETag: bb69583fd4da5970a86aa47c0da561ad
Connection: close
Server: NOS
7.2.6. 细节描述¶
- 如果Bucket不存在,返回404 no content错误。错误码:NoSuchBucket。
- 只有Bucket的拥有者才能操作大对象分块接口。非Bucket拥有者执行此类操作将返回403 Forbidden错误。错误码:AccessDenied。
- 调用该接口上传Part数据前,必须调用Initiate Multipart Upload接口,获取一个NOS服务器颁发的Upload ID。
- 如果执行Upload Part时,UploadId对应的Object名和Bucket名不匹配,返回:400 Bad Request错误。 错误码:InvalidArgument。
- 如果执行Upload Part时,UploadId已经被Abort,或者UploadId本就不存在,返回:404 Not Found错误。错误码:NoSuchUpload。
- Multipart Upload要求除最后一个Part以外,其他的Part大小都要大于16k。但是Upload Part接口并不会立即校验上传Part的大小(因为不知道是否为最后一块);只有当Complete Multipart Upload的时候才会校验。
- 与PUT Object<6.6_PUT_Object>类似,NOS根据Content-MD5判断上传的文件块的正确性,如果不匹配,返回404 Bad Request错误,错误码:BadDigest;如果不带Content-MD5,返回Etag,由用户来确保数据正确性。
- Part号码的范围是1~10000。如果超出这个范围,NOS将返回InvalidArgument的错误码。
- Upload Part请求头中的Content-Length必须和HTTP BODY的长度一致,否则返回400 Bad Request。错误码:IncompleteBody。
- 如果Head中没有加入Content length参数,会返回411 Length Required错误。错误码:MissingContentLength。
- 如果添加文件长度超过100M,返回错误消息400 Bad Request。错误码:EntityTooLarge。
- HTTP请求头Content-Length必须,否则返回411 Length Required消息。错误码:MissingContentLength。
7.3. Complete Multipart Upload¶
7.3.1. 描述¶
在将所有数据Part都上传完成后,必须调用Complete Multipart Upload API来完成整个文件 的Multipart Upload。在执行该操作时,用户必须提供所有有效的数据Part的列表 (包括part号码和ETAG);NOS收到用户提交的Part列表后,会逐一验证每个数据Part的有效性。 当所有的数据Part验证通过后,NOS将把这些数据part组合成一个完整的Object。
7.3.2. 语法¶
POST /${ObjectKey}?uploadId=${uploadId} HTTP/1.1
HOST: ${BucketName}.${endpoint}
Content-MD5: ${entityMD5}
Content-Length: ${length}
x-nos-Object-md5: ${ObjectMD5}
Authorization: ${signature}
<CompleteMultipartUpload>
<Part>
<PartNumber>${PartNumber}</PartNumber>
<ETag>${ETag}</ETag>
</Part>
...
</CompleteMultipartUpload>
7.3.3. 请求头¶
Header | 描述 | 是否必须 |
---|---|---|
x-nos-meta- | 以该前缀开头的header都将被认为是用户自定义的元数据,比如:x-nos-meta-title: TITLE 这个header会把title:TITLE作为用户自定义元数据key-value对。
类型:字符串
默认:无
|
No |
7.3.4. 请求元素¶
元素 | 描述 | 是否必须 |
---|---|---|
CompleteMultipartUpload | 完成块传输的请求容器
类型:容器
子节点:一个或多个Part节点
|
Yes |
ETag | 一块数据上传完毕后,服务器端返回的Entity tag
类型:字符串
父节点:Part
|
Yes |
Part | 每一块的描述信息的容器
类型:容器
子节点:PartNumber,ETag
|
Yes |
PartNumber | 分块序号。
类型:整型
父节点:Part
|
Yes |
7.3.5. 响应元素¶
元素 | 描述 |
---|---|
Bucket | 新创建对象所在的桶
类型:字符串
父节点:CompleteMultipartUploadResult
|
CompleteMultipartUploadResult | 响应容器元素
类型:容器
子节点:Location,Bucket,Key,ETag
|
ETag | 新创建的对象的Entity Tag
类型:字符串
父节点:CompleteMultipartUploadResult
|
Key | 新创建对象的Key
类型:字符串
父节点:CompleteMultipartUploadResult
|
Location | 新创建的这个对象的资源定位URL
类型:字符串
父节点:CompleteMultipartUploadResult
|
7.3.6. 特殊错误码¶
错误码 | Http状态码 | 描述 |
---|---|---|
InvalidPart | 400 Bad Request | 请求所指定的上传块中,有一个或多个块不存在,可能的原因:该块缺失未上传,该块的EntityTag不匹配等 |
InvalidPartOrder | 400 Bad Request | 上传块列表,不是按照块序号升序排列 |
NoSuchUpload | 404 Not Found | 对应的分块上传不存在,可能原因:uploadId非法、已经执行了abort、已经执行了complete等 |
7.3.7. 示例¶
Reqeust
POST /movie.avi?uploadId=23r54i252358235-32523f23 HTTP/1.1
HOST: filestation.nos-eastchina1.126.net
Content-MD5: bb69583fd4da5970a86aa47c0da561ad
Content-Length: 325
x-nos-Object-md5: fd4da5970a86aa47c0da56bb69363
Authorization: NOS I_AM_ACCESS_ID:I_AM_SIGNATURE
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"a54357aff0632cce46d942af68356b38"</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>"0c78aef83f66abc1fa1e8477f296d394"</ETag>
</Part>
<Part>
<PartNumber>3</PartNumber>
<ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</Part>
</CompleteMultipartUpload>
Response
HTTP/1.1 200 OK
x-nos-request-id: 17b21e42ac11000001390ab891440240
Date: Wed, 01 Mar 2012 21:34:55 GMT
ETag: VXBsb2FkIElEIGZvciA2aWWpbmcncyBtZpZS5tMnRzIHVwbG9hZA
Connection: close
Server: NOS
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="">
<Location> filestation.nos-eastchina1.126.net/movie.avi</Location>
<Bucket>filestation </Bucket>
<Key>movie.avi </Key>
<ETag>"3858f62230ac3c915f300c664312c11f"</ETag>
</CompleteMultipartUploadResult>
7.3.8. 细节描述¶
- 如果Bucket不存在,返回404 no content错误。错误码:NoSuchBucket。
- 只有Bucket的拥有者才能操作大对象分块接口。非Bucket拥有者执行此类操作将返回403 Forbidden错误。错误码:AccessDenied。
- 调用该接口完成大对象分开接口前,必须调用Initiate Multipart Upload接口,获取一个NOS服务器颁发的Upload ID,并调用Upload Part上传至少一块数据。
- 如果执行Complete Multipart Upload时,UploadId对应的Object名和Bucket名不匹配,返回:400 Bad Request错误。 错误码:InvalidArgument。
- 如果执行Complete Multipart Upload时,UploadId已经被Abort,或者UploadId本就不存在,返回:404 Not Found错误。错误码:NoSuchUpload。
- Complete Multipart Upload时,会确认除最后一块以外所有块的大小都大于16k,并检查用户提交的Partlist中的每一个Part号码和Etag。所以在上传Part时,客户端除了需要记录Part号码外,还需要记录每次上传Part成功后,服务器返回的ETag值。
- 如果非最后一块小于16k,返回:400 Bad Request。错误码:EntityTooSmall。
- 用户提交的Part List中,Part号码可以是不连续的。例如第一块的Part号码是1,第二块的Part号码是5。完成Complete Multipart Upload后,所有没有被提交的已上传Part将被删除。
- 用户提交的Part List中,Part号码必须是升序排列的,否则返回:400 Bad Request。错误码:InvalidPartOrder。
- 如果用户提交的Part List中存在还为上传完成的Part号码,返回:400 Bad Request。错误码:InvalidPart。
- NOS处理Complete Multipart Upload请求成功后,该Upload ID就会变成无效。
- 同一个Object可以同时拥有不同的Upload Id,当Complete一个Upload ID后,该Object的其他Upload ID不受影响。
- 如果HTTP请求的BODY XML格式有误,返回400 Bad Request消息。错误码:MalformedXML。
- HTTP请求头Content-Length必须,否则返回411 Length Required消息。错误码:MissingContentLength。
- etag的计算方法是,每个分块的etag加上‘-’,包括最后一个分块,然后求md5,转换为字符串就得到整个大对象的etag了。
- 分块上传的元数据是在调用这个接口后才有效的
7.4. Abort Multipart Upload¶
7.4.1. 描述¶
该接口可以根据用户提供的Upload ID中止其对应的Multipart Upload事件。当一个Multipart Upload事件被中止后,就不能再使用这个Upload ID做任何操作,已经上传的Part数据也会被删除。
7.4.2. 语法¶
DELETE /${ObjectKey}?uploadId=${uploadId} HTTP/1.1
Host: ${BucketName}.${endpoint}
Date: ${Date}
Authorization: ${signature}
7.4.3. 特殊错误码¶
错误码 | Http状态码 | 描述 |
---|---|---|
NoSuchUpload | 404 Not Found | 对应的分块上传不存在,可能原因:uploadId非法、已经执行了abort、已经执行了complete等 |
7.4.4. 示例¶
Request
DELETE /movie.avi?uploadId=23r54i252358235332523f23 HTTP/1.1
Host: filestation.nos-eastchina1.126.net
Date: Mon, 1 May 2012 20:34:56 GMT
Authorization: NOS I_AM_ACCESS_ID:I_AM_SIGNATURE
Response
HTTP/1.1 204 OK
x-nos-request-id: 17b21e42ac11000001390ab891440240
Date: Mon, 1 May 2012 20:34:59 GMT
ETag: VXBsb2FkIElEIGZvciA2aWWpbmcncyBtZpZS5tMnRzIHVwbG9hZA
Connection: close
Server: NOS
7.4.5. 细节描述¶
- 如果Bucket不存在,返回404 no content错误。错误码:NoSuchBucket。
- 只有Bucket的拥有者才能操作大对象分块接口。非Bucket拥有者执行此类操作将返回403 Forbidden错误。错误码:AccessDenied。
- 如果输入的Upload Id不存在,NOS会返回NoSuchUpload的错误码。
- 调用该接口完成大对象分开接口前,必须调用Initiate Multipart Upload接口,获取一个NOS服务器分配的Upload ID,并调用Upload Part上传至少一块数据。
7.5. List Parts¶
7.5.1. 描述¶
List Parts命令可以罗列出指定Upload ID所属的所有已经上传成功Part。
7.5.2. 语法¶
GET /${ObjectKey}?uploadId=${id}&max-parts=${limit}&part-number-marker=${start} HTTP/1.1
HOST: ${BucketName}.${endpoint}
Date: ${date}
Authorization: ${signature}
7.5.3. 请求参数¶
参数 | 描述 | 是否必须 |
---|---|---|
max-parts | 响应中的limit个数 类型:整型 默认值:1000 取值:[0-1000] | No |
part-number-marker | 分块号的界限,只有更大的分块号会被列出来。 类型:字符串 默认:无 | No |
uploadId | 分块上传操作的ID 类型:字符串 默认:无 | Yes |
7.5.4. 响应元素¶
元素 | 描述 |
---|---|
ListPartsResult | 列出已上传块信息
类型:容器
子节点:Bucket、Key、UploadId、Owner、StorageClass、PartNumberMarker、NextPartNumberMarker、MaxParts, IsTruncated、Part
|
Bucket | 桶的名称
类型: String
父节点: ListPartsResult
|
Key | 对象的Key
类型: String
父节点: ListPartsResult
|
UploadId | 分块上传操作的ID
类型: String
父节点: ListPartsResult
|
ID | 对象拥有者的ID
类型: String
父节点: Owner
|
DisplayName | 对象的拥有者.
类型: String
父节点: Owner
|
Owner | 桶拥有者的信息
子节点:ID, DisplayName
类型: 容器
父节点: ListPartsResult
|
StorageClass | 存储级别.
类型: String
父节点: ListPartsResult
|
PartNumberMarker | 上次List操作后的Part number
类型: Integer
父节点: ListPartsResult
|
NextPartNumberMarker | 作为后续List操作的part-number-marker
类型: Integer
父节点: ListPartsResult
|
MaxParts | 响应允许返回的的最大part数目
类型: Integer
父节点: ListPartsResult
|
IsTruncated | 是否截断,如果因为设置了limit导致不是所有的数据集都返回了,则该值设置为true
类型: Boolean
父节点: ListPartsResult
|
Part | 列出相关part信息
子节点:PartNumber, LastModified, ETag, Size
类型: String
父节点: ListPartsResult
|
PartNumber | 识别特定part的一串数字
类型: Integer
父节点: Part
|
LastModified | 该part上传的时间
类型: Date
父节点: Part
|
ETag | 当该part被上传时返回
类型: String
父节点: Part
|
Size | 已上传的 part数据的大小.
类型: Integer
父节点: Part
|
7.5.5. 特殊错误码¶
错误码 | Http状态码 | 描述 |
---|---|---|
NoSuchUpload | 404 Not Found | 对应的分块上传不存在,可能原因:uploadId非法、已经执行了abort、已经执行了complete等 |
7.5.6. 示例¶
Request
GET /movie.avi?uploadId=23r54i252358235-32523f23 HTTP/1.1
HOST: filestation.nos-eastchina1.126.net
Date: Mon, 1 May 2012 20:34:56 GMT
Authorization: NOS I_AM_ACCESS_ID:I_AM_SIGNATURE
Response
HTTP/1.1 200 OK
x-nos-request-id: 17b21e42ac11000001390ab891440240
Date: Mon, 1 Feb 2012 20:34:56 GMT
Content-Length: 985
Connection: close
Server: NOS
<?xml version="1.0" encoding="UTF-8"?>
<ListPartsResult>
<Bucket>example-Bucket</Bucket>
<Key>example-Object</Key>
<UploadId>23r54i252358235332523f23 </UploadId>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>someName</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>
7.5.7. 细节描述¶
- 如果Bucket不存在,返回404 no content错误。错误码:NoSuchBucket。
- 只有Bucket的拥有者才能操作大对象分块接口。非Bucket拥有者执行此类操作将返回403 Forbidden错误。错误码:AccessDenied。
- 如果执行List Parts时,UploadId对应的Object名和Bucket名不匹配,返回:400 Bad Request错误。 错误码:InvalidArgument。
- 如果执行List Parts时,UploadId已经被Abort,或者UploadId本就不存在,返回:404 Not Found错误。错误码:NoSuchUpload。
- 通过max-parts和part-number-marker能够遍历UploadId对应的所有上传块。
- 返回结果按照part值从小到大排列。
7.6. List Multipart Uploads¶
7.6.1. 描述¶
List Multipart Uploads可以罗列出所有执行中的Multipart Upload事件,即已经被初始化 的Multipart Upload但是未被Complete或者Abort的Multipart Upload事件。NOS返回的罗列 结果中最多会包含1000个Multipart Upload信息。如果想指定NOS返回罗列结果内Multipart Upload信息的数目,可以在请求中添加max-uploads参数。另外,NOS返回罗列结果中的 IsTruncated元素标明是否还有其他的Multipart Upload。
7.6.2. 语法¶
GET /?uploads HTTP/1.1
HOST: ${BucketName}.${endpoint}
Date: ${date}
Authorization: ${signature}
7.6.3. 请求参数¶
参数 | 描述 | 是否必须 |
---|---|---|
key-marker | 指定某一uploads key,只有大于该key-marker的才会被列出
类型: String
|
No |
max-uploads | 最多返回max-uploads条记录
类型: 数字
默认:1000
取值:[0-1000]
|
No |
7.6.4. 响应元素¶
元素 | 描述 |
---|---|
ListMultipartUploadsResult | 响应容器元素
类型:容器
子节点:Bucket,KeyMarker,Upload,NextKeyMarker, owner
|
Bucket | 对象的桶
类型:字符串
父节点:ListMultipartUploadsResult
|
NextKeyMarker | 作为后续查询的key-marker
类型:String
父节点:ListMultipartUploadsResult
|
IsTruncated | 是否截断,如果因为设置了limit导致不是所有的数据集都返回了,则该值设置为true
类型:Boolean
父节点: ListMultipartUploadsResult
|
Upload | 类型:容器
子节点:Key,UploadId
父节点:ListMultipartUploadsResult
|
Key | 对象的Key
类型:字符串
父节点:Upload
|
UploadId | 分块上传操作的ID
类型String
父节点:Upload
|
ID | 对象拥有者的ID
类型: String
父节点: Owner
|
DisplayName | 对象的拥有者
类型: String
父节点: Owner
|
Owner | 桶拥有者的信息
类型:容器
子节点:DisplayName|ID
父节点:Upload
|
StorageClass | 存储级别
类型: String
父节点: Upload
|
Initiated | 该分块上传操作被初始化的时间
类型:Date
父节点: Upload
|
ListMultipartUploadsResult.Prefix | 当请求中包含了prefix参数时,响应中会填充这一prefix
类型:String
父节点: ListMultipartUploadsResult
|
7.6.5. 示例¶
Request
GET /?uploads&HTTP/1.1
HOST: ${BucketName}.${endpoint}
Date: Mon,1 Nov 2010 20:34:56 GTM
Authorization: ${signature}
Response
HTTP/1.1 200 OK
x-nos-request-id: 17b21e42ac11000001390ab891440240
Date: Mon, 1 Feb 2012 20:34:56 GMT
Content-Length: 197
Connection: close
Server: NOS
<?xml version="1.0" encoding="UTF-8"?>
<ListMultipartUploadsResult>
<Bucket>Bucket</Bucket>
<NextKeyMarker>my-movie.m2ts</NextKeyMarker>
<Upload>
<Key>my-divisor</Key>
<UploadId>XMgbGlrZSBlbHZpbmcncyBub3QgaGF2aW5nIG11Y2ggbHVjaw</UploadId>
<Owner>
<ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>
<DisplayName>OwnerDisplayName</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
</Upload>
<Upload>
<Key>my-movie.m2ts</Key>
<UploadId>VXBsb2FkIElEIGZvciBlbHZpbcyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
<Owner>
<ID>b1d16700c70b0b05597d7acd6a3f92be</ID>
<DisplayName>OwnerDisplayName</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
</Upload>
</ListMultipartUploadsResult>
7.6.6. 细节描述¶
- 如果Bucket不存在,返回404 no content错误。错误码:NoSuchBucket。
- 只有Bucket的拥有者才能操作大对象分块接口。非Bucket拥有者执行此类操作将返回403 Forbidden错误。错误码:AccessDenied。
- 通过key-marker和max-uploads参数,能够遍历到Bucket内有多少未完成的多块上传。
- 返回未完成多块上传按照Key字典序排列。