S3生命周期配置:仅过期文件夹内文件保留空文件夹
解决S3生命周期仅过期文件夹内文件、保留空文件夹的问题
你的原配置会匹配所有S3对象(包括模拟空文件夹的占位符),导致空文件夹被一并删除。要实现仅过期文件、保留空文件夹,需调整规则过滤条件,排除代表空文件夹的对象。
修改后的生命周期配置
{ "Rules": [ { "ID": "ExpireFilesKeepEmptyFolders", "Status": "Enabled", "Filter": { "Not": { "Suffix": "/" } }, "Expiration": { "Days": 30 } } ] }
关键说明
- S3不存在真实的文件夹结构,所谓“空文件夹”通常是指键以
/结尾的0字节占位符对象,或是仅作为前缀存在的路径结构(无占位符时无需额外保留) - 配置中的
Not + Suffix: "/"会排除所有以/结尾的文件夹占位符,仅对实际文件(键不以/结尾的对象)应用30天过期规则 - 如果需要针对特定前缀下的文件生效,只需在
Filter中添加Prefix条件,比如处理data/前缀下的文件,配置如下:
{ "Rules": [ { "ID": "ExpireDataFilesKeepEmptyFolders", "Status": "Enabled", "Filter": { "And": [ { "Prefix": "data/" }, { "Not": { "Suffix": "/" } } ] }, "Expiration": { "Days": 30 } } ] }
内容的提问来源于stack exchange,提问作者Primoz Rome
相关产品推荐
相关产品推荐

