删除Google存储文件夹,包括其中所有对象的所有版本

时间:2018-11-01 17:12:11

标签: directory google-cloud-storage version

您好,谢谢。我想从Google Cloud Storage中删除一个文件夹,包括其中所有对象的所有版本。当您从笔记本电脑上使用gsutil时,这很容易(您可以仅使用文件夹名称作为前缀,并放置标记以删除每个对象的所有版本/世代)

..但是我希望它在定期触发的 script 中(例如,当我休假时)。我目前的想法是Apps脚本和Google Cloud Functions(或firebase函数)。问题在于,在这些情况下,我没有像gsutil一样强大的接口,我必须使用REST API,所以我不能说诸如“使用此前缀删除所有内容”和“此对象的所有版本”之类的内容。因此,我能做的最好的是
a)列出所有带前缀的对象。因此,对于前缀“ myFolder”,我收到:
myFolder / obj1-第10代
myFolder / obj1-第15代
myFolder / obj2-第12代

...等等,用于数百个文件,每个文件至少具有1代/版本。

b)对于每个文件生成,都删除该文件,并提供完整的对象名称及其生成。

如您所见,这似乎需要大量工作。你知道更好的选择吗?

1 个答案:

答案 0 :(得分:1)

列出要删除的对象并将其删除是实现所需目标的唯一方法。

唯一的选择是使用Lifecycle,如果条件满足您的要求,它可以根据条件自动为您删除对象。