如何解决在GCP中编写对象生命周期规则时了解IsLive和存储类
我们需要在Object Lifecycle rules
的{{1}}下面启用
-
如果 非当前对象版本 在100天内未被访问,并且其当前存储类为
GCP Cloud Storage bucket
,请将该对象移至STORAGE,MULTI_REGIONAL and DURABLE_REDUCED_AVAILABILITY
存储 -
如果100天内未访问对象版本,并且其当前存储类别为
Nearline
,请将其移至Nearline
存储类别 -
如果
Coldline
存储空间中有100天没有访问对象,则从Coldline
存储空间中删除。 -
保留2个非当前版本的文件
为实现上述规则,将以下规则应用于存储桶
Coldline
需要在下面进行澄清
-
它显示规则已成功应用,但将切实可行。由于我们将非当前版本从 NEARLINE 移到了 COLDLINE ,这些版本已有100天无法访问,因此我需要在规则2中添加“ isLive”:false。同样,规则3也需要它。
{ "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 } } ] } }
},
{ "action": { "type": "SetStorageClass","storageClass": "COLDLINE" },"isLive": false "matchesStorageClass": ["NEARLINE"] }
-
在我们考虑100天以上的访问权限时,直接从 STANDARD 存储类移至 COLDLINE 也是有意义的
有什么建议吗?
解决方法
您的规则不正确。
首先,age
是number of days after the creation
年龄是根据对象的创建时间计算的
因此,您的条件“如果最近100天尚未访问”是不可能的。正确的表达是“创建后100天,请执行...”
从那里开始,您的归档策略不正确。您使用相同的年龄(对象创建后的100天)
- 转到近线
- 转到Coldline
- 从冷线删除
在相同的年龄条件下!!
回答您的问题
- 不,如果您考虑并确定
isLive: false
类中只有非当前版本,则无需提及nearline
- 是的,如果您认为它们从未使用过(或很少使用),则可以从标准版本跳到Coldline,尤其是对于非当前版本,然后在100天后将其删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。