批量删除云存储对象

时间:2013-02-14 23:01:33

标签: google-cloud-storage

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

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

3 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:2)

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

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

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

Mike Schwartz,谷歌云存储团队

答案 2 :(得分:1)

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

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

我使用此方法编写了blog post on Deleting Full Buckets