从Amazon S3 Bucket中删除大量版本

时间:2015-04-10 10:49:53

标签: amazon-web-services amazon-ec2 amazon-s3 amazon-glacier

好的,我有一个小问题我已经在NAS上运行备份程序到Amazon S3存储桶并且已经启用了版本控制。 NAS存储 900GB 的数据。

我现在已经运行了好几个月了,并且一直在看着账单上涨以获得Amazons Glacier服务(我的版本生命周期规则存储对象)的费用。成本最终变得如此之高,以至于我不得不暂停版本控制以便停止更多的成本。

我现在在我们所有对象上都有大量版本截取一个文件的示例: enter image description here

我有两个问题:

  1. 我目前正在寻找一种方法来删除大量的版本化文件,从Amazons own documentation看来我必须单独删除每个版本这是正确的吗?如果是这样,实现这一目标的最佳方法是什么?我假设它将是某种脚本,它必须列出存储桶中的每个项目并向每个版本化对象发出 DELETEVERSION ?这将是很多请求,我想这会导致我的下一个问题。
  2. 以这种方式删除大量Glacier对象的成本影响是什么?在Glacier中删除对象的成本似乎很昂贵,这是否也适用于在S3中创建的版本?
  3. 如果需要,很高兴提供更多详细信息,

    由于

1 个答案:

答案 0 :(得分:1)

S3中的删除是免费的,即使S3已将对象迁移到冰川,除非该对象在冰川中的时间少于3个月,因为冰川用于长期存储。在这种情况下,您只需支付剩余的时间(例如,对于仅存储2个月的对象,您需要支付相当于1个月的早期删除费用。)

您仍然需要识别并指定要删除的版本,但S3在一个多次删除请求中最多可接受1000个对象或版本(最多1k个用户)。

http://docs.aws.amazon.com/AmazonS3/latest/API/multiobjectdeleteapi.html