【问题标题】:Deleting a large folder from Google Cloud Storage从 Google Cloud Storage 中删除大文件夹
【发布时间】:2019-02-25 04:29:18
【问题描述】:

我在 Google Cloud Storage 存储分区中有一个文件夹,其中包含数百万个需要删除的文件。

什么是删除这个大文件夹而不删除整个存储桶的有效方法?

我尝试过使用gsutil rm 命令,但完成删除所有文件似乎需要很长时间。

此外,我还阅读了对象生命周期管理政策,但我了解到它们适用于整个存储桶,而不是任何特定文件夹。

感谢您的帮助! :)

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage


    【解决方案1】:

    gsutil rm 将是最快的。您唯一的选择是编写代码来列出和删除每一个,这就是 gsutil 将为您做的。

    【讨论】:

    • 一个加快速度的建议。在同一区域中启动 Compute Engine 实例并在 GCE 实例中运行 gcloud rm 命令。用于删除对象的 REST API 调用的数据包大小很小。同一区域内的低延迟和高带宽将在总命令执行时间上产生很大差异。
    • 是的,这就是我现在正在做的事情,感谢您的建议! :)
    • 现在似乎不推荐使用 gsutil rm,正如 cloud.google.com/storage/docs/best-practices#deleting 的最佳实践中所述,“如果要批量删除十万个或更多对象,请避免使用 gsutil,因为该过程需要很长时间才能完成。相反,请使用 ... Cloud Console ... 或 ... Object Lifecycle Management”。例如,关于 REST API 的任何想法,它可以完成这项工作而不是在 Cloud Console 中单击?