.NET Core SDK中如何配置带标签条件的S3生命周期规则?
.NET Core SDK配置带标签条件的S3生命周期规则
当然可以在.NET Core SDK中配置带标签条件的S3生命周期规则,LifecycleTagPredicate类确实存在于Amazon.S3.Model命名空间下。如果需要同时满足前缀和标签两个条件,需要使用LifecycleAndOperator来组合多个匹配谓词(S3要求多条件时用AND逻辑关联)。
完整代码示例
using Amazon.S3.Model; var lifeCycleConfiguration = new LifecycleConfiguration() { Rules = new List<LifecycleRule> { new LifecycleRule { Id = "Delete one day old objects with specific prefix and tag", Filter = new LifecycleFilter() { LifecycleFilterPredicate = new LifecycleAndOperator() { Operands = new List<LifecycleFilterPredicate> { // 前缀条件 new LifecyclePrefixPredicate() { Prefix = "tempdocs/" }, // 标签条件 new LifecycleTagPredicate() { Tag = new Tag() { Key = "OneDayExpiry", Value = "true" } } } } }, Status = LifecycleRuleStatus.Enabled, Expiration = new LifecycleRuleExpiration() { Days = 1 } } } };
关键说明
- 单独使用标签条件:如果只需要匹配标签,直接将
LifecycleFilterPredicate设置为LifecycleTagPredicate即可,无需LifecycleAndOperator。 - 多条件组合:当需要同时匹配前缀和标签(或多个标签)时,必须通过
LifecycleAndOperator的Operands集合添加所有需要的谓词,S3会按AND逻辑应用这些条件。 - 命名空间确认:确保代码中引用了
Amazon.S3.Model,否则无法找到这些谓词类。
内容的提问来源于stack exchange,提问作者Maulik
相关产品推荐
相关产品推荐

