文档中心 > InitiateMultipartUpload
InitiateMultipartUpload

最近更新时间:2022-01-18

使用InitiateMultipartUpload接口初始化一个分块上传并且返回uploadID。

该uploadID被用来将所有的分片上传到指定的分片。

在后来的分片上传请求中需要表明uploadID。在完成或者放弃该分片上传的请求中也要指定uploadID。如果配置了放弃未完成上传的生命周期规则,那么该上传必须在设置的时间内完成。否则该上传被终止。

请求

请求语法

POST /ObjectName?uploads HTTP/1.1

Host: examplebucket.region.unicloudsrv.com

Date: date

Authorization: authorization string

请求消息头

参数

描述

Cache-Control

用来指定请求/回复链中的缓存行为。

Content-Disposition

指定对象的表面信息。

Content-Encoding

指定应用于对象的编码内容,因此解码必须从Content-Type中获取到media-type。

Content-Type

一个标准的MIME类型描述对象的数据格式。

Expires

对象不再是可缓存的日期和时间。

x-amz-meta-

从这个前缀开始的标题是用户定义的元数据。

x-amz-storage-class

成功上传后创建的对象使用的存储类型。

x-amz-website-redirect-location

如果bucket被设置为一个网站,重定向这个object到相同bucket中的另一个object或者一个额外的ULR链接。

ACL特定请求报头

参数

描述

x-amz-acl

用于对象的预定义权限,有效值:private,public-read,public-read-write。

x-amz-grant-read

受让人可以查询bucket中object。

x-amz-grant-write

受让人可以写bucket中的object。

x-amz-grant-read-acp

允许为适当的bucket读ACL。

x-amz-grant-write-acp

允许为适当的bucket写ACL。

x-amz-grant-full-control

受让人可以读、写、读ACL、写ACLbucket中权限。

服务器端加密特定请求报头

参数

描述

x-amz-server-side-encryption

当创建一个object时,使用在服务端加密算法。

x-amz-server-side-encryption-aws-kms-key-id

如果x-amz-server-side-encryption存在并且赋值为aws:kms,该头标识为object所使用的KMS主密钥。

x-amz-server-side-encryption-context

如果x-amz-server-side-encryption存在并且赋值为aws:kms,该头标识为object所使用的加密内容。

响应

响应消息头

参数

描述

x-amz-abort-date

标识什么时候初始化的分片上传将成为资格终止操作。

x-amz-abort-rule-id

这个头是随着x-amz-abort-date头返回,标识终止未完成的分片上传的生命周期配置策略。

x-amz-server-side-encryption

请求中如果服务端使用了Unicloud   KMS加密或者Unicloud托管加密,启动分片上传响应中包括该头。

x-amz-server-side-encryption-aws-kms-key-id

如果x-amz-server-side-encryption存在并且赋值为aws:kms,该头标识为object所使用的KMS主密钥。

x-amz-server-side-encryption-customer-algorithm

如果服务端采用了SSE-C加密请求,响应中就会包括该头来确认使用了该加密算法。

x-amz-server-side-encryption-customer-key-MD5

如果SSE-C加密被请求,响应中的该头提供往返消息完整性验证的客户提供加密密钥。

响应元素

参数

描述

InitiateMultipartUploadResult

包含响应信息的容器。

Bucket

启动分块上传任务的 bucket 的名字。

Key

分块上传对象的 key。

UploadId

分块上传任务的ID。

示例

请求示例

POST /example-object?uploads HTTP/1.1

Host: examplebucket.region.unicloudsrv.com

Date: Mon, 1 Nov 2010 20:34:56 GMT

Authorization: authorization string

 

HTTP/1.1 200 OK

x-amz-id-2: Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg==

x-amz-request-id: 656c76696e6727732072657175657374

Date:  Mon, 1 Nov 2010 20:34:56 GMT

Content-Length: 197

Connection: keep-alive

Server: nginx

返回示例

<?xml version="1.0" encoding="UTF-8"?>

<InitiateMultipartUploadResult xmlns="http://region.unicloudsrv.com/doc/2006-03-01/">

  <Bucket>example-bucket</Bucket>

  <Key>example-object</Key>

  <UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>

</InitiateMultipartUploadResult>