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资源的访问权限。

Aws s3 api的更多相关文章

  1. AWS S3 API实现文件上传下载

    http://blog.csdn.net/marvin198801/article/details/47662965

  2. AWS SDK for C++调用第三方S3 API

    这里介绍AWS SDK for C++ 1.0.x版本,比如下载: https://github.com/aws/aws-sdk-cpp/archive/1.0.164.tar.gz 环境:RHEL/ ...

  3. AWS s3 python sdk code examples

    Yet another easy-to-understand, easy-to-use aws s3 python sdk code examples. github地址:https://github ...

  4. storj白皮书v3最全面解读,Docker创始人的加入能否扳倒AWS S3

    Storj新发了白皮书v3,地址是:https://storj.io/storjv3.pdf. 这次白皮书一共有90页,看完还真要费不少时间.如果你没有时间看,可以看一下我这篇快速技术解读. 上次St ...

  5. aws s3文件上传设置accesskey、secretkey、sessiontoken

    背景: 最近跟进的项目会封装aws S3资源管理细节,对外提供获取文件上传凭证的API,业务方使用获取到的凭证信息直接请求aws进行文件上传.因此,测试过程需要验证S3文件上传的有效性.aws官网有提 ...

  6. Amazon AWS S3 操作手册

    Install the SDK The recommended way to use the AWS SDK for Java in your project is to consume it fro ...

  7. Python使用boto3操作AWS S3中踩过的坑

    最近在AWS上开发部署应用. 看了这篇关于AWS中国区填坑的文章,结合自己使用AWS的经历,补充两个我自己填的坑. http://www.jianshu.com/p/0d0fd39a40c9?utm_ ...

  8. 【原创】aws s3 lambda缩略图生成

    参考资料: https://github.com/sagidm/s3-resizer https://aws.amazon.com/cn/blogs/compute/resize-images-on- ...

  9. .NET Core AWS S3云存储

    前言 最近有需要用到AWS S3云存储上传附件,这里对利用.NET或.NET Core在调用SDK APi需要注意的一点小问题做个记录,或许能对后续有用到的童鞋提供一点帮助 AWS S3云存储 官方已 ...

随机推荐

  1. 使用 nvm 管理多版本 node

    首先,使用下面的命令来安装 nvm $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | b ...

  2. tslib: Selected device is not a touchscreen (must support ABS_X and ABS_Y events)

    /************************************************************************************ * tslib: Selec ...

  3. I.MX6 fbset 使用

    /****************************************************************************** * I.MX6 fbset 使用 * 说 ...

  4. Linux部分常用命令学习(一)

    什么是linux命令? 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样. 属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写 ...

  5. Fedora14使用yum安装mysql

    linux下使用yum安装mysql   1.安装 查看有没有安装过:           yum list installed mysql*           rpm -qa | grep mys ...

  6. 实体对象,List泛型 转换为DataTable

    /// <summary>        /// 实体对象转换DataTable        /// </summary>        /// <param name ...

  7. Android 杂记

    Android Studio 报错:sdk location should not contain whitespace as this can cause problems with the ndk ...

  8. php中 curl模拟post发送json并接收json(转)

    本地模拟请求服务器数据,请求数据格式为json,服务器返回数据也是json. 由于需求特殊性, 如同步客户端的批量数据至云端, 提交至服务器的数据可能是多维数组数据了.  这时需要将此数据以一定的数据 ...

  9. IDC单IP绑定多域名(包括端口)

    本文件已上传到文件列表中. ServerName 222.186.36.116:80 DocumentRoot "/home" <Directory "/home& ...

  10. 用xshell-ssh连接服务器被经常意外中断

    xshell突然中断报错 Socket error Event: 32 Error: 10053.Connection closing...Socket close. Connection close ...