跳过 S3 生命周期策略中的某些文件夹

Has*_*lvi 6 lifecycle amazon-s3 amazon-web-services

我想对整个存储桶应用删除规则,以删除超过 2 周的所有对象。但我的存储桶中有某些需要跳过的文件夹。那么是否可以通过 S3 生命周期管理跳过某些文件夹并删除超过 2 周的其余内容?

这是我当前的存储桶结构

- example-bucket.com
    - folder 1
        - images
            - 1. jpg
        - videos
            - 1.mp4
            - 2.flv
    - folder 2
        - images
            - 1.jpg
    - folder 3
        - videos
            - 1.mp4
    - folder 4 (Should not be deleted)
        - content
        - folders
    - folder 5  
        - images
            - 1. jpg
        - videos
            - 1.mp4
            - 2.flv
    - folder 6 (Should not be deleted)
        - content
        - folders
Run Code Online (Sandbox Code Playgroud)

我想跳过文件夹 4 和 6,并删除所有其他文件夹中 14 天前的内容。

有人可以告诉我是否可以通过 AWS S3 生命周期管理实现?

Bui*_*uan 4

是的你可以。Lifecycle Rule支持prefix/tag过滤您想要应用的规则。
您需要定义除其他之外要删除的内容。
参考

要将此生命周期规则应用于具有指定名称前缀的所有对象(即名称以公共字符串开头的对象),请键入前缀。您还可以将生命周期规则范围限制为一个或多个对象标签。您可以组合前缀和标签。有关对象名称前缀的更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的对象键。有关对象标签的更多信息,请参阅 Amazon Simple Storage Service 开发人员指南中的对象标记

  • 所以你应该为你的文件夹添加“标签”。添加新文件夹时,您可以添加标签:“deletable:true”和“deletable:false”。因此,只需对带有标签“deletable:true”的文件夹应用“删除生命周期规则” (2认同)
  • 有没有一种简单的方法可以做到这一点,例如删除没有标签 deletable: true 的文件夹?因为文件夹太多,我无法为所有内容添加标签 (2认同)
  • 不,它不支持这种方式。我不知道你为什么不想实施它。有 2 种方法: 1. 更新所有当前文件夹/文件的“标签”。在源代码中添加更多代码以自动将“标签”添加到新文件夹。按照我的建议修改规则。2. 使用“AWS Data Pipeline”或“Lambda”等其他服务,并按“每天”的时间表检查并归档旧文件/文件夹(某些特殊文件夹除外)。但你必须亲手实施。 (2认同)