我一直在尝试对我存储在GCP存储中的对象实施生命周期管理,但没有取得总体成功。
首先,我有一个存储每个日期对象的存储桶。 (管道运行的中间和文件)所以我想保留,比如说可能是过去10天,但后来我想转向更多的归档用途。
所以在这个存储桶上我创建了以下lifecycle.json:
{
"lifecycle":{
"rule":[
{
"action":{
"type":"SetStorageClass",
"storageClass":"NEARLINE"
},
"condition":{
"age":3,
"matchesStorageClass":[
"REGIONAL",
"STANDARD",
"DURABLE_REDUCED_AVAILABILITY"
]
}
},
{
"action":{
"type":"SetStorageClass",
"storageClass":"COLDLINE"
},
"condition":{
"age":10,
"matchesStorageClass":[
"NEARLINE"
]
}
},
{
"action":{
"type":"Delete"
},
"condition":{
"age":10,
"matchesStorageClass":[
"COLDLINE"
]
}
}
]
}
}
基于本手册:https://cloud.google.com/storage/docs/managing-lifecycles#enable
当我使用gsutil设置生命周期时,它接受它,当我得到它时,它会显示它。
但并非所有文件似乎都受到配置的影响,而且我的理论依赖于文件大小,例如:
所有文件都在同一天上传(1小时窗口)。但只有一些是近线的,有些仍然是区域性的。在这个目录中,引爆点大约为100MB,而在另一个目录中,300MB +文件使其成为近线
我的问题:
--- 更新20170720 ---
根据要求,我已经运行了命令:
gsutil ls -L gs://yourbucket
一个大的csv文件,现在应该删除:
Creation time: Tue, 27 Jun 2017 12:23:08 GMT
Update time: Tue, 27 Jun 2017 12:23:08 GMT
Storage class: REGIONAL
Content-Length: 1184976409
Content-Type: text/csv
Component-Count: 23
Hash (crc32c): ggHfjw==
ETag: COqC4oqC3tQCEAE=
Generation: 1498566188630378
Metageneration: 1
屏幕截图中的文件目录已经过处理,并且在某个文件大小下删除了所有内容:
剩下的文件也应该被删除:
Creation time: Sat, 08 Jul 2017 10:00:57 GMT
Update time: Sat, 08 Jul 2017 10:00:57 GMT
Storage class: REGIONAL
Content-Length: 469342393
Content-Type: application/octet-stream
Component-Count: 9
Hash (crc32c): Ux3HKw==
ETag: COLb3ei2+dQCEAE=
Generation: 1499508057271778
Metageneration: 1
ACL: [
因此,我们可以排除同时修改文件的事实。
答案 0 :(得分:0)
这似乎已经在平均时间内得到修复