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. 利用 localStorage 储存css js

    链接  版本号, 可以后台输出到jsp页面上 移动端webapp值得一试: 兼容性好 网速慢,LS读取+eval大多数情况下快于304 webapp不需要seo,css也可以缓存,再通过js加载 浏览 ...

  2. markdown 语法汇总

    Markdown是什么? Markdown是一种轻量级标记语言,它以纯文本形式(_易读.易写.易更改_)编写文档,并最终以HTML格式发布. Markdown也可以理解为将以MARKDOWN语言编写的 ...

  3. 使用MS VS的命令来编译C++程序

    以前,我是在linux下使用命令或者makefile来编译C++程序的,最近需要在windows上做点测试.于是使用ms VS来作为开发工具,这种大揽全包的IDE确实好用:点一下菜单,编译结果就出来了 ...

  4. js实现弹出窗口+遮罩层+tab切换

    [功能1]点击约谈按钮,弹出对话框和遮罩层(自己的叫法 专业叫法没有查) [部分重点代码] [下面的方法] (1)获取系统时间如何实现(2)点击如何实现弹出窗口和遮罩层 $(".date_n ...

  5. asp.net core mcroservices 架构之 分布式日志(三):集成kafka

    一 kafka介绍 kafka是基于zookeeper的一个分布式流平台,既然是流,那么大家都能猜到它的存储结构基本上就是线性的了.硬盘大家都知道读写非常的慢,那是因为在随机情况下,线性下,硬盘的读写 ...

  6. element resetFields 方法报错

    resetFields  对整个表单进行重置,将所有字段值重置为初始值并移除校验结果:如果用了之后报错如下: 查了下资料,是DOM加载的顺序问题: 解决方法: this.$nextTick(() =& ...

  7. JMeter启动时显示Could not open/create prefs root node Software\JavaSoft\Prefs at root 0X80000002

    在windows 7上启动jmeter时,提示错误: Java.util.prefs.WindowsPreferences <init> WARNING: Could not open/c ...

  8. 整数a整数b

    namespace ConsoleApplication6{ class Program { static void Main(string[] args) { while (true) { Cons ...

  9. juc线程池原理(六):jdk线程池中的设计模式

    一.jdk中默认线程池中的代理模式 单例类线程池只有一个线程,无边界队列,适合cpu密集的运算.jdk中创建线程池是通过Executors类中提供的静态的方法来创建的,其中的单例类线程池的方法如下: ...

  10. Java-Maven-Runoob:Maven 自动化部署

    ylbtech-Java-Maven-Runoob:Maven 自动化部署 1.返回顶部 1. Maven 自动化部署 项目开发过程中,部署的过程包含需如下步骤: 将所的项目代码提交到 SVN 或者代 ...