是否有一种简单的配置可以在 S3 对象未使用一段时间后永久删除它们?

问题描述

我希望在一段时间内不使用 S3 对象后将其删除。

具体来说,应该有两个规则:

  1. 在它们闲置一段时间后(6 个月)将它们移至冰川
  2. 在它们进入冰川 2 周后删除它们

对象位于版本化存储桶中。我也知道在 90 天前删除冰川对象会产生删除费用,但这不是问题。

现在,我可以通过 Intelligent-Tiering Archive configuration 轻松完成目标 1。

但是,我不知道是否可以完成对象 2 - 当我查看生命周期规则时,我找不到一种方法来指定我要删除某个版本的所有版本(当前和过去)已在 Glacier(存档)中放置 2 周的对象。

我能想到的建模这个问题的唯一方法是:

  • 创建“智能分层归档配置”,在 6 个月后移至归档,并在 2 周后移至深度归档
  • 创建一个 lambda,它会过期并删除深度存档中的所有对象版本。

这有两个缺点:

  • 即使几乎没有使用过,我也会为深度归档存储付费(但这没什么大不了的)
  • 我需要写一个 Lambda

有更简单的解决方案吗?

解决方法

无需移动到深层冰川,即可检测物体在冰川类中存在的时间。

当一个对象类被转换时,会创建一个新的版本,它在LastModified字段中携带更新的时间戳,可以查询,以决定是否应该删除一个对象。>

关于删除本身,没有自动的方法来做到这一点。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...