S3 存储桶中文件的生命周期规则

Posted

技术标签:

【中文标题】S3 存储桶中文件的生命周期规则【英文标题】:Lifecycle rule for files in S3 bucket 【发布时间】:2022-01-02 04:30:21 【问题描述】:

我在 S3 存储桶中有 .pdf 和 .jpg 文件的组合。是否可以仅将生命周期添加到(.pdf 文件)?

我看到的所有示例都指向我为整个存储桶或存储桶内的特定文件夹设置生命周期规则。但是我找不到任何示例来说明如何为存储桶内的特定文件扩展名设置。

我正在使用以下 terraform 代码

resource "aws_s3_bucket" "bucket" 
  bucket = "<<bucket_name>>"
  acl    = "private"

  lifecycle_rule 
    id      = "log"
    enabled = true
    prefix  = "path/"

    expiration 
      days = 1
    
  

【问题讨论】:

docs.aws.amazon.com/AmazonS3/latest/userguide/… - 似乎无法匹配后缀,您可以尝试将文件类型作为标签添加到每个文件中,然后使用标签进行过滤 您能否将 .pdf 文件存储在与 .jpg 文件不同的路径中?您可以按路径过滤,没有任何问题。 幸运的是,我在特定的存储桶中只有 pdf(s)。所以我指定了根文件夹,它工作得很好。但需要认真规划未来的隔离 【参考方案1】:

是否可以仅将生命周期添加到(.pdf 文件)?

可惜不是。生命周期仅适用于前缀,而不适用于后缀。一种方法是将它们分隔到不同的前缀甚至存储桶中,例如

路径/jpgs/ 路径/pdfs/

我认为从长远来看,分离对其他用例更有利。

【讨论】:

以上是关于S3 存储桶中文件的生命周期规则的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AWS S3 生命周期过期前缀规则中使用正则表达式

生命周期管理是否删除了s3前缀?

如何将生命周期策略添加到 AWS CDK Typescript 中的现有 S3 存储桶

通过标头进行 Amazon S3 对象生命周期管理

ceph rgw lifecycle( 对象存储 对象生命周期)

如何在 Java 中获取和更新 Azure 生命周期规则