AWS S3:更改存储类而不复制对象

时间:2019-04-06 09:45:26

标签: amazon-s3 replication

我的存储桶具有复制规则,可将对象备份到另一个区域/存储桶中。

现在,我想更改源对象中的存储类(标准->很少访问),但是似乎通过CopyObjectRequest API(java客户端)应用的此更改正在触发复制。不幸的是,因为跨区域复制需要一定的成本。

因此,目前的“旅程”如下:

  1. 对象存储在标准类的源存储桶中
  2. 我将存储类别更改为IA
  3. 对象被复制到另一个区域(标准类)
  4. 1天后,它移到了冰川。

如您所见,这完全是浪费钱,因为复制最终会将同一对象再次移入冰川。

如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

在源存储桶中使用生命周期策略,将当前对象版本转换为所需的存储类。这应该在不更改其版本ID的情况下迁移当前对象,并且不应触发复制事件。

否则,您需要从头开始创建具有所需存储类的对象。用户操作无法在不创建新对象版本的情况下更改对象的存储类,因此无法避免看似冗余的复制事件,因为您正在创建新的对象版本。