GCP存储桶的生命周期策略

问题描述

我想在我的GCP存储桶上应用一些更高级的生命周期策略,以满足某些强制要求。

应用程序执行每小时备份,这些备份以“ app_name_timestamp”的形式存储在GCP存储桶中。我想通过按照以下要求应用策略来优化存储在存储桶中的备份文件数量

  • 将每小时备份文件保留7天,

  • 将每日备份文件保留3周,

  • 将每周备份文件保留2个月,

  • 将每月备份文件保留1年。

太满足第一个要求,我可以使用生命周期规则根据“年龄”条件将备份文件移动到其他存储类。但是,考虑到可以在不同存储类别之间移动它们的可能性,是否可以合并其余规则?我的主要问题是弄清楚如何从“每小时”备份中保留一个副本作为“每日”。

如果有人在这里扔我一根骨头,我将非常感激。

谢谢!

解决方法

实际上,您应该为所有要求使用“年龄”条件。例如,要将每日备份文件保留3周,则应使用21天,而将60周的每周备份文件保留2个月。

不过,要记住的一点是规则适用于存储桶,而不是对象。我的意思是,如果您设置了7天后删除对象的规则,则该存储桶中的所有对象将在7天后删除。您可以在存储桶中设置许多规则,但可以看到here“如果指定多个包含相同操作的规则,则当对象匹配任何规则中的条件时,将执行该操作”。

话虽如此,对于您的业务案例,我建议您为每个需求保留1个存储桶,以使对象保持所需的时间。