如何通过GCP对象生命周期管理删除GCS特定文件夹7天以上文件
解决GCS删除特定文件夹下过期文件的问题
问题原因
GCS生命周期规则的matchesPrefix参数不需要用*作为通配符,它是前缀匹配逻辑——只要对象路径以指定字符串开头就会被匹配。你用folder1/*的话,只会匹配路径以folder1/*开头的对象,但实际你的对象路径是folder1/xxx格式,所以完全匹配不到。
正确配置方法
把matchesPrefix改成["folder1/"],这样就能覆盖所有在folder1下的对象(包括子文件夹内的对象,如果存在的话)。
完整生命周期规则示例(JSON格式)
{ "rule": [ { "action": { "type": "Delete" }, "condition": { "age": 7, "matchesPrefix": ["folder1/"] } } ] }
验证规则有效性
- 配置完成后,可在GCS控制台的存储桶「生命周期」页面查看规则状态
- 也可以通过命令行检查:
gsutil lifecycle get gs://你的存储桶名称
额外提示
- 如果仅需匹配folder1下的直接文件(不含子文件夹),可结合
matchesSuffix,但你的文件名是随机生成的,这个场景下用不上 - 规则生效存在几分钟的延迟,无需立即重复触发检查
内容的提问来源于stack exchange,提问作者Xavier123
相关产品推荐
相关产品推荐

