Gsutil rm不会删除所有内容

时间:2016-10-03 08:20:24

标签: google-cloud-storage gsutil

我的一个自动化工作有问题。 在启动云数据流作业之前,我对以前的文件执行gsutil rm,但它似乎没有删除所有内容,因为当我启动另一个数据流作业时,一些旧的分片仍然存在。

我试过了:

gsutil -m rm gs://mybucket/blahblah/* 

gsutil rm -r gs://mybucket/blablah

但结果相同......

奇怪的是,未删除的文件既不是第一个也不是最后一个。 我认为这是我的第二个工作错误,但事实是我在日志中看到确实文件没有删除bu gsutil。

是否有可能删除太多文件? 是否存在gsutil rm可靠性的已知问题?

我使用的是google cloud sdk版本0.9.80

由于

1 个答案:

答案 0 :(得分:2)

您正在使用的gsutil rm命令取决于列出存储桶中的对象,这是Google云端存储中最终一致的操作。因此,在写入对象后不久在桶中尝试这些命令可能不会删除所有对象。如果您稍后再试,它应该会成功。

避免此问题的一种方法是跟踪您上传的对象的名称,并在gsutil rm命令中显式列出这些对象。例如,如果您将对象列表保存在文件objects.manifest中,则可以在Linux或MacOS上运行这样的命令:

xargs gsutil -m rm < objects.manifest