如何更改AWS S3上的默认存储类

时间:2013-11-19 05:58:52

标签: amazon-web-services amazon-s3

默认情况下,存储桶中的存储空间为STANDARD。在推送每个对象时,我们可以更改存储空间。

但是有没有办法在Bucket级别更改默认存储(可能通过AWS控制台)?

3 个答案:

答案 0 :(得分:15)

从技术上讲,您无法在每个存储桶的基础上设置存储类。但是,您可以在存储桶上指定生命周期策略,以自动将新对象转换为存储类,如here所述。

  

标准 - IA存储类在对象级别设置并且可以   存在于与标准相同的存储桶中,允许您使用生命周期   策略自动在存储之间转换对象   类,没有任何应用程序更改。

要执行此操作,请转到您的存储桶的“管理”标签,然后点击“添加生命周期规则”' Add lifecycle rule

为其命名,然后单击“下一步”。对于“配置转换'”,请选择当前版本。单击添加转换,选择"转换到标准-IA"并选择30,因为30是最小的。完成你的规则就可以了。

enter image description here

答案 1 :(得分:9)

无法基于每个存储区设置存储类。必须在客户端的每个上传操作中指定它。

答案 2 :(得分:4)

可以通过x-amz-storage-class标题在上传请求(PUT对象,POST对象和启动分段上传)中指定存储类。

此外,如果要在存储桶中强制执行某些存储类,可以通过存储桶策略(使用s3:x-amz-storage-class条件密钥)执行此操作。这样,任何使用禁止类上传对象的尝试都将失败。

因此,你应该这样做:

  1. 在上传操作中指定允许的存储类(有关x-amz-storage-class header的详细信息)。
  2. (可选)设置s3:x-amz-storage-class基于条件的基于条件的Bucket Policy(请参阅example)。