PUT操作的这个实现将一个对象添加到一个bucket中。 您必须具有对bucket的WRITE权限才能向其中添加对象。

Amazon S3从不添加部分对象; 如果您收到成功响应,则Amazon S3将整个对象添加到bucket中。

Amazon S3是一个分布式系统。 如果它同时收到同一个对象的多个写入请求,它将覆盖除最后写入的所有对象外的所有请求。 Amazon S3不提供对象锁定; 如果你需要这个,请确保将其构建到应用程序层中,或者使用版本控制。

为确保数据不会通过网络受到破坏,请使用Content-MD5标头。 使用此标头时,Amazon S3将根据提供的MD5值检查对象,如果不匹配,则返回错误。 另外,您可以在将对象放入Amazon S3时计算MD5,并将返回的ETag与计算出的MD5值进行比较。

Note:

要配置您的应用程序在发送请求正文之前发送请求标头,请使用100-continue HTTP状态码。 对于PUT操作,这可以帮助您避免在邮件被拒绝的基础上(例如,由于身份验证失败或重定向)而发送邮件正文。 有关100-继续HTTP状态代码的更多信息,请参见http://www.ietf.org/rfc/rfc2616.txt的第8.2.3节。

您可以选择请求服务器端加密,在您将数据写入其数据中心中的磁盘时,Amazon S3会加密您的数据,并在您访问数据时为您解密。 您可以选择提供自己的加密密钥或使用AWS管理的加密密钥。 有关更多信息,请转至Amazon Simple Storage Service开发人员指南中的使用服务器端加密。

Amazon S3默认使用标准存储类来存储新创建的对象。 标准存储类提供了高耐用性和高可用性。 根据用例场景中的性能需求,可以选择指定其他存储类。 有关更多信息,请转至Amazon Simple Storage Service开发人员指南中的Storage Classes。

上传对象时,您可以选择指定应该授予对象特定权限的帐户或组。 有两种方法可以使用请求标头授予适当的权限:

使用x-amz-acl请求头指定一个预先定义的ACL。 有关更多信息,请参阅Amazon Simple Storage Service开发人员指南中的Canned ACL。

使用x-amz-grant-read,x-amz-grant-read-acp和x-amz-grant-write-acp,x-amz-grant-full-control标头明确指定访问权限。 这些标头映射到Amazon S3在ACL中支持的一组权限。 有关更多信息,请转至Amazon Simple Storage Service开发人员指南中的访问控制列表(ACL)概述。

如果使用这些头将对象ACL更改为默认值以外的其他值,那么请求者的AWS Identity and Access Management(IAM)策略中的许可操作列表中必须包含s3:PutObjectAcl。 有关权限的更多信息,请参阅Amazon Simple Storage Service开发人员指南中的对象操作的权限和管理您的Amazon S3资源的访问权限。

05-21 07:27