S3存储桶能否仅为.pdf格式文件配置Lifecycle生命周期规则
问题解答
可以仅为.pdf格式的文件配置S3 Lifecycle生命周期规则。
S3生命周期规则除了支持按前缀(也就是文件夹路径)匹配对象外,还支持按后缀名匹配对象,完全可以满足按文件格式筛选的需求。
代码调整方案
1. 新版本AWS Provider(4.x+ 推荐用法)
新版本AWS Provider已经废弃了aws_s3_bucket资源内嵌的lifecycle_rule参数,推荐使用独立的aws_s3_bucket_lifecycle_configuration资源配置生命周期规则,示例如下:
resource "aws_s3_bucket" "bucket" { bucket = "<<bucket_name>>" acl = "private" } resource "aws_s3_bucket_lifecycle_configuration" "bucket_lifecycle" { bucket = aws_s3_bucket.bucket.id rule { id = "expire_pdf_files" enabled = true filter { prefix = "path/" # 仅匹配指定路径下的pdf文件就保留该参数,要匹配整个桶的pdf则删除该行 suffix = ".pdf" } expiration { days = 1 } } }
2. 旧版本AWS Provider兼容写法
如果你暂时没有升级Provider版本的计划,可以直接在原有内嵌的lifecycle_rule块中添加suffix参数即可:
resource "aws_s3_bucket" "bucket" { bucket = "<<bucket_name>>" acl = "private" lifecycle_rule { id = "log" enabled = true prefix = "path/" suffix = ".pdf" # 新增后缀匹配配置 expiration { days = 1 } } }
注意事项
- 后缀匹配为大小写敏感规则,如果你的存储桶内存在.PDF大写后缀的文件,需要新增一条规则单独匹配
.PDF后缀
内容的提问来源于stack exchange,提问作者Devops Freelancer
相关产品推荐
相关产品推荐

