2016-02-12 81 views
1

我发现自己希望能够轻松地将桶中的所有项目更改为S3上的特定存储类。通常这是因为项目是以标准上传的,我希望它们在Reduced Redundancy中节省几块钱。如何更新S3存储桶中所有项目的存储类别?

我看不到通过AWS控制台执行此操作的方法。

什么是更新存储桶中所有文件的最佳方法?

回答

0

无法通过AWS控制台执行此操作。您需要遍历它们并更新每个对象上的元数据。

下面是一个Ruby脚本,做到了这一点:

https://gist.github.com/mcfadden/b1e564f3323f98720ff2

一些其他的想法:

坐落在对象创建正确的存储类。你不想再循环所有的项目。

某些存储类不适用于所有对象。例如,您无法将对象设置为标准 - 不频繁访问类,直到它们在存储桶中保持30天。

如果您尝试使用Standard - Infrequent Access存储类,则可以设置生命周期规则,以便在30天后自动将对象移动到此存储类。

+2

你在其它方面准确的答案是关上的一个点。 *“您可以通过在'x-amz-storage-class'头文件中指定'STANDARD_IA'来直接'将'PUT'转换为Standard-IA。”* [参见S3 S/IA FAQ](https://aws.amazon.com/S3 /常见问题/#SIA)。您不能*自动*将它们与生命周期策略一起移植到30天之前。 –