默认情况下,存储桶中的存储空间为STANDARD。在推送每个对象时,我们可以更改存储空间。
但是有没有办法在Bucket级别更改默认存储(可能通过AWS控制台)?
答案 0 :(得分:15)
从技术上讲,您无法在每个存储桶的基础上设置存储类。但是,您可以在存储桶上指定生命周期策略,以自动将新对象转换为存储类,如here所述。
标准 - IA存储类在对象级别设置并且可以 存在于与标准相同的存储桶中,允许您使用生命周期 策略自动在存储之间转换对象 类,没有任何应用程序更改。
要执行此操作,请转到您的存储桶的“管理”标签,然后点击“添加生命周期规则”'
为其命名,然后单击“下一步”。对于“配置转换'”,请选择当前版本。单击添加转换,选择"转换到标准-IA"并选择30,因为30是最小的。完成你的规则就可以了。
答案 1 :(得分:9)
无法基于每个存储区设置存储类。必须在客户端的每个上传操作中指定它。
答案 2 :(得分:4)
可以通过x-amz-storage-class
标题在上传请求(PUT对象,POST对象和启动分段上传)中指定存储类。
此外,如果要在存储桶中强制执行某些存储类,可以通过存储桶策略(使用s3:x-amz-storage-class
条件密钥)执行此操作。这样,任何使用禁止类上传对象的尝试都将失败。
因此,你应该这样做:
x-amz-storage-class
header的详细信息)。s3:x-amz-storage-class
基于条件的基于条件的Bucket Policy(请参阅example)。