4

删除许多云存储对象的最佳方法是什么?我有一个包含约 500K 个对象的存储桶,我想将它们全部删除。

您是否必须为要删除的每个对象发出 1 个 api 请求,或者是否有某种批处理方法?我目前正在使用 gsutil 一次删除一个。

4

3 回答 3

5

您需要为每个对象发出 1 个 api 请求。最简单的方法是使用gsutil

$ gsutil -m rm gs://bucket_with_many_objects/**

-m 选项启用多线程,这将并行删除许多对象。

于 2013-02-15T00:01:12.523 回答
2

请注意,使用 gsutil 时,“*”通配符将仅匹配顶级对象(直到路径名中的下一个“/”)。如果要删除所有对象,可以使用:

$ gsutil -m rm -R gs://bucket_with_many_objects

或者

$ gsutil -m rm gs://bucket_with_many_objects/**

Mike Schwartz,谷歌云存储团队

于 2013-02-15T16:45:10.017 回答
1

我有一个类似的问题,一个包含超过 800,000 个对象的存储桶,gsutil -m rm gs://bucket-name方法确实有效,但需要很长时间,因为它基本上仍然一次删除每个对象。

在与 Google 的 Cloud Storage 团队联系后,他们向我指出了存储桶生命周期策略的方向,虽然不是即时的,但它们允许您以更有效的方式批量删除对象。

我写了一篇关于使用这种方法删除完整存储桶的博客文章。

于 2014-04-10T16:39:20.430 回答