Python AWS CDK中如何使用aws_s3.LifecycleRule的tag_filters参数
Python AWS CDK 配置aws_s3.LifecycleRule的tag_filters参数正确方案
核心说明
Python版AWS CDK中,aws_s3.LifecycleRule的tag_filters参数接收键为标签键、值为标签值的普通Python字典,无需封装为列表,也不需要使用Key/Value的结构化写法,CDK会自动将字典转换为S3生命周期规则要求的标签过滤格式。
代码示例
单个标签过滤
import aws_cdk.core as core import aws_cdk.aws_s3 as s3 # 仅对标签为time_to_expire_days=1的对象生效1天过期规则 s3.LifecycleRule( id="1 Day TTL", expiration=core.Duration.days(1), tag_filters={ "time_to_expire_days": "1" } )
多个标签过滤
需要同时匹配多个标签时,直接在字典中新增键值对即可:
s3.LifecycleRule( id="1 Day Temp File TTL", expiration=core.Duration.days(1), tag_filters={ "time_to_expire_days": "1", "file_type": "temporary" } )
错误原因说明
之前的写法全部不生效,核心原因是误将tag_filters参数当作列表类型传入,Python CDK的该参数为字典类型,传入列表会被按索引序列化,才会出现0: xxx、1: xxx的异常结果。
内容的提问来源于stack exchange,提问作者Chart96
相关产品推荐
相关产品推荐

