S3 生命周期清理排除上次部署

问题描述

我有一个 S3 存储桶的生命周期配置,它会在 180 天后清理部署,我想排除最新的部署,但我不知道如何执行此操作。没有排除过滤器,似乎 aws 更喜欢较短的到期时间,所以我可能无法用更长的时间覆盖它。在我们的项目中,我们将拉取请求部署到 s3:///pr-- 和主构建,如 s3:///master- 因此,在部署 master-80 时,我希望在创建后 180 天后删除 master-79 及以下文件夹,但在有更新的部署之前不应删除 master-80。每次部署都会更新存储桶策略,因此我可以更改它并应用与新文件夹匹配的新规则。

这是我当前的 Bucket 配置

Bucket:
  Type: AWS::S3::Bucket
  Properties:
    BucketName: "{{{COMPONENT}}}-{{{ENVIRONMENT}}}"
    LifecycleConfiguration:
      Rules:
        - Id: 'discard old PR deployments'
          ExpirationInDays: 7
          Prefix: 'pr-'
          Status: Enabled
        - Id: 'Move old deployments to cheaper storage'
          Status: Enabled
          Transitions:
            - StorageClass: 'INTELLIGENT_TIERING'
              TransitionInDays: 14
        - Id: 'discard old results after 6 months'
          Status: Enabled
          ExpirationInDays: 180

您知道如何从清理中排除最后一个版本吗?先谢谢了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)