【发布时间】:2020-09-23 11:07:40
【问题描述】:
我们需要在GCP Cloud Storage bucket下面启用Object Lifecycle rules
-
如果一个非当前对象版本在 100 天内未被访问,并且其当前存储类是
STORAGE, MULTI_REGIONAL and DURABLE_REDUCED_AVAILABILITY之一,则将该对象移动到Nearline存储 -
如果一个对象版本在 100 天内没有被访问并且它当前的存储类是
Nearline,将它移动到Coldline存储类 -
如果对象在 100 天内未从
Coldline存储中访问,则从Coldline存储中删除。 -
保留 2 个非当前版本的文件
为了实现上述规则,桶应用了以下规则
{
"lifecycle": {
"rule": [
{
"action": {
"type": "SetStorageClass",
"storageClass": "NEARLINE"
},
"condition": {
"age": 100,
"isLive": false,
"matchesStorageClass": ["REGIONAL", "STANDARD", "DURABLE_REDUCED_AVAILABILITY"]
}
},
{
"action": {
"type": "SetStorageClass",
"storageClass": "COLDLINE"
},
"condition": {
"age": 100,
"matchesStorageClass": ["NEARLINE"]
}
},
{
"action": { "type": "Delete"},
"condition": {
"age": 100,
"matchesStorageClass": ["COLDLINE"]
}
},
{
"action": { "type": "Delete"},
"condition": {
"numNewerVersions": 2
}
}
]
}
}
下面需要澄清
-
它显示规则已成功应用,但它会实际工作。由于我们将非当前版本从 NEARLINE 移至 COLDLINE 100 天内无法访问,我需要在规则 2 中添加 "isLive": false 。规则 3 我们也需要它吗?
{ "action": { "type": "SetStorageClass", "storageClass": "COLDLINE" }, "condition": { "age": 100, "isLive": false "matchesStorageClass": ["NEARLINE"] }},
{ "action": { "type": "Delete"}, "condition": { "age": 100, "isLive": false "matchesStorageClass": ["COLDLINE"] } }, -
由于我们正在考虑超过 100 天的访问权限,因此从 STANDARD 存储类直接迁移到 COLDLINE 是否有意义
有什么建议吗?
【问题讨论】:
标签: google-cloud-platform google-cloud-storage versioning