Gsutil rm不会删除所有内容

问题描述:

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

我想:

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

gsutil rm -r gs://mybucket/blablah 

但同样的结果......

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

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

我使用谷歌云SDK版本0.9.80

感谢

你使用依赖于上市水桶,这是在谷歌云存储最终一致性操作的对象的RM的gsutil命令。因此,在写入对象后立即尝试这些命令可能不会删除所有对象。如果您稍后再试,它应该会成功。

避免此问题的一种方法是跟踪您上传的对象的名称,并在gsutil rm命令中明确列出这些对象。例如,如果你不停地在文件中的对象列表objects.manifest你可以像这样运行在Linux或者MacOS的命令:

xargs gsutil -m rm < objects.manifest 
+0

的gsutil RM还支持接收标准输入对象列表的-I标志。 –

+0

Travis的答案更好,因为它可以用于任何操作系统(包括Windows)。 –