我有一个只包含日志文件的存储桶,我希望此存储桶中的所有文件都使用减少冗余的存储类。
我的第一次尝试是定义存储桶策略。但据我所知,这些策略只能用于限制对存储桶内容的任何访问。它似乎缺少一些hock功能来修改s3-log-service的写访问权。
有没有其他方法可以告诉s3-log-service使用减少冗余的存储类?
答案 0 :(得分:2)
创建减少冗余时,每个对象设置,因此您无法应用存储桶策略。要使用此功能,您必须在将对象写入S3时添加标题(x-amz-storage-class: REDUCED_REDUNDANCY
)。
我对记录设施并不是很熟悉,但据我所知,你自己似乎必须这样做。
由于您的文件已经在S3中的存储桶中,因此您必须使用COPY
来设置新标头。执行此操作的技术步骤(高级)are outlined in the documentation,如果您让我知道您通常编写的语言,我可以尝试帮助您并扩展我的答案。
答案 1 :(得分:0)
最简单的方法是让日志在STANDARD
存储类中上传,然后添加将对象移动到REDUCED_REDUNDANCY
存储类的生命周期规则,如关于Default Storage Class for S3 bucket的答案中所述。在最初的30天内(STANDARD
类处于活动状态时),您不应该浪费太多钱,并且过渡到所需的存储类别也不应该相当便宜。
如果您仍然花费很多钱,那么在初始上传请求期间提供存储类是可行的方法。请参阅有关specify/enforce storage class for S3 Bucket的方法的答案。