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

Dee*_*pak 22 amazon-s3 amazon-web-services

默认情况下,存储桶中的存储是标准的.在推送每个对象时,我们可以更改存储空间.

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

Sam*_*eby 20

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

Standard-IA存储类在对象级别设置,可以与Standard存在于同一个存储桶中,允许您使用生命周期策略在存储类之间自动转换对象,而无需更改任何应用程序.

要执行此操作,请转到存储桶的"管理"选项卡,然后单击"添加生命周期规则" 添加生命周期规则

给它一个名字然后点击下一步.对于"配置转换",请选择当前版本.单击Add transition,选择"Transition to Standard-IA after"并选择30,因为30是最小值.完成你的规则,你就完成了.

在此输入图像描述

  • 这种转变会产生(额外)成本吗?(即好像对这些对象发出了请求) (2认同)
  • 由于请求成本,最好在 PUT 请求中设置策略,而不是使用生命周期策略。 (2认同)

Joh*_*hir 10

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

  • 可以在对象上传请求(PUT 对象、POST 对象和启动分段上传)中传递额外的标头:x-amz-storage-class:STANDARD_IA 更多信息:https://docs.aws.amazon.com/AmazonS3/ latest/dev/storage-class-intro.html#sc-howtoset (3认同)

myr*_*lav 5

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

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

因此,您应该执行以下操作:

  1. 在上载操作中指定允许的存储类(请参见x-amz-storage-classheader的详细信息)。
  2. (可选)设置s3:x-amz-storage-class基于关键条件的存储桶策略(请参阅示例)。