如何在SAM模板中配置S3生命周期规则按文件类型过滤?
在SAM YAML模板中配置S3按文件类型过滤的生命周期规则
S3生命周期规则支持通过后缀过滤指定仅对特定类型文件生效,完全能满足你只删除.csv文件、保留.jar文件的需求,无需依赖前缀过滤。
直接在SAM模板的S3 Bucket资源中添加LifecycleConfiguration规则,通过Filter.Suffix匹配.csv文件即可,示例代码如下:
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Resources: MyDataBucket: Type: AWS::S3::Bucket Properties: BucketName: my-data-bucket # 替换为你的实际桶名 LifecycleConfiguration: Rules: - Id: DeleteOldCsvFiles Status: Enabled Filter: Suffix: .csv # 仅匹配后缀为.csv的文件 ExpirationInDays: 30 # 设置csv文件的保留天数,到期自动删除
关键说明:
Filter.Suffix: .csv:这是按文件类型过滤的核心,这条生命周期规则只会作用于所有后缀为.csv的文件ExpirationInDays:根据你的需求替换成实际保留天数,比如7天、30天等.jar文件因未匹配到任何删除类生命周期规则,会默认永久保留,无需额外配置规则
如果后续需要同时结合前缀和后缀过滤(比如仅删除某个路径下的csv文件),可在Filter中同时添加Prefix和Suffix字段,示例:
Filter: Prefix: daily-uploads/ Suffix: .csv
内容的提问来源于stack exchange,提问作者pbuchheit
相关产品推荐
相关产品推荐

