此操作将启动一个分块上传任务并返回 upload ID
。在一个确定的分块上传任务中,upload ID
用于关联所有分块。连续分块上传请求中的 upload ID
由用户指定。在Complete Multipart Upload
和 Abort Multipart Upload
请求中同样包含 upload ID
。
关于请求签名的问题,分块上传为一系列的请求(初始化分块上传,上传块,完成分块上传,终止分块上传),用户启动任务,发送一个或多个分块,最终完成任务。用户需要对每一个请求单独签名。
注意 当你启动分块上传后,并开始上传分块,你必须完成或者放弃上传任务,才能终止因为存储造成的收费。
POST /{ObjectKey}?uploads HTTP/1.1
Host: {BucketName}.kss.ksyun.com
Date: date
Authorization: authorization string
该请求不使用请求参数。
该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部。
名称 | 描述 | 必须 |
---|---|---|
Cache-Control | 告诉所有的缓存机制是否可以缓存及哪种类型。更多信息,请点击http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html## sec14.9 类型:String 默认值:None 约束条件:无 |
|
Content-Disposition | 指定对象的表达信息。更多信息,请点击http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html## sec19.5.1 类型:String 默认值:None 约束条件:无 |
否 |
Content-Encoding | 指定文件内容编码格式。更多信息,请点击http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html## sec14.11 类型:String 默认值:None 约束条件:无 |
否 |
Content-Type | 用于描述文件内容MIME格式。更多信息,请点击http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html## sec14.17 类型:String 默认值:binary/octet-stream 有效值: MIME types 约束条件:无 |
否 |
Expires | 对象存在于缓存的有效时间日期。更多信息,请点击http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html## sec14.21 类型:String 默认值:None 约束条件:无 |
否 |
x-kss-meta- | 用户元数据前缀标识。若某个头部前缀为 x-kss-meta- , 则为用户自定义元数据。类型:String 默认值:None 约束条件:无 |
否 |
x-kss-storage-class | 用于设置Object存储方式。 类型:String 默认值:None 有效值:STANDARD 约束条件:无 |
否 |
使用预设的ACL为即将新上传的Object设置ACL
名称 | 描述 | 必须 |
---|---|---|
x-kss-acl | 用于对象的预定义权限。 类型:String 默认值:private 有效值: private &##124; public-read 约束条件:无 |
否 |
如果用户期望为Bucket设置详细的ACL,可以通过以下header设置
名称 | 描述 | 必须 |
---|---|---|
x-kss-grant-read | 为若干用户授予READ权限。 类型:String 默认值:无 约束条件:无 |
否 |
x-kss-grant-full-control | 为若干用户授予FULL_CONTROL权限。 类型:String 默认值:无 约束条件:无 |
否 |
以上header值的值为以一个逗号","分割的授权列表。每个授权信息的格式为type=value,当前type支持以下几种:
例如,要给所有用户授予READ权限:
x-kss-grant-read:uri="http://acs.ksyun.com/groups/global/AllUsers"
该接口不使用请求内容。
该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部。
名称 | 描述 |
---|---|
x-kss-server-side-encryption | 如果存储 object 时使用了服务端加密,则响应会包含该头部,值为使用的加密算法。类型:String |
x-kss-server-side-encryption-customer-algorithm | 如果服务端使用了用户提供的加密秘钥加密,在请求解密时,响应将会包含该头部来确认使用的解密算法。 类型:String 有效值:AES256 |
x-kss-server-side-encryption-customer-key-MD5 | 如果服务端使用了用户提供的加密秘钥加密,在请求解密时,响应将会包含该头部来提供用户提供加密秘钥的数据一致性验证信息。 类型:String |
名称 | 描述 |
---|---|
InitiateMultipartUploadResult | 包含响应信息的容器 类型:Container 子节点:Bucket, Key, UploadId 父节点:无 |
Bucket | 启动分块上传任务的 bucket 的名字类型:String 父节点:InitiateMultipartUploadResult |
Key | 分块上传对象的 key 类型:String 父节点:InitiateMultipartUploadResult |
UploadId | 分块上传任务的ID 类型:String 父节点:InitiateMultipartUploadResult |
该请求不返回任何特殊错误。
请求示例
POST /{ObjectKey}?uploads HTTP/1.1
Host: {BucketName}.kss.ksyun.com
Date: Wed, 01 Mar 2006 12:00:00 GMT
Authorization: authorization string
响应示例
HTTP/1.1 200 OK
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 197
Connection: keep-alive
Server: Tengine
<?xml version="1.0" encoding="UTF-8"?>
<InitiateMultipartUploadResult xmlns="http://kss.ksyun.com/doc/2006-03-01/">
<Bucket>bucket</Bucket>
<Key>example-object</Key>
<UploadId>1aa9cfad5e2e405c8f27965feb8b60cc</UploadId>
</InitiateMultipartUploadResult>