在 Amazon S3 生命周期规则中,若需对同时满足多个条件的对象执行操作(如文件路径以'logs/2024/'开头、带有'type=archive'标签且文件大小大于 1MB),需将各过滤条件组合使用。S3 支持通过逻辑与(AND)关系合并前缀、标签和大小过滤器。
首先,在 Filter 元素内嵌套一个 And 容器,用于包裹所有需同时满足的条件。接着,添加 Prefix 子元素并指定路径前缀'logs/2024/'。然后,使用 Tag 元素定义标签键为'type'、值为'archive'。最后,加入 ObjectSizeGreaterThan 子元素,并将大小值设为 1MB(即 1,048,576 字节),注意 S3 比较操作为大于而非大于等于。
完整 XML 结构示例如下:
<LifecycleConfiguration>
<Rule>
<Filter>
<And>
<Prefix>logs/2024/</Prefix>
<Tag>
<Key>type</Key>
<Value>archive</Value>
</Tag>
<ObjectSizeGreaterThan>1048576</ObjectSizeGreaterThan>
</And>
</Filter>
<Status>Enabled</Status>
<!-- 在此处添加 transition 或 expiration 操作 -->
</Rule>
</LifecycleConfiguration>
需注意,若仅指定标签键而无值,则匹配无该值的对象;多个标签必须唯一且全部匹配才生效。此外,某些存储类对对象大小有最低限制,配置前请查阅相关文档。