Gsutil rm 不会删除所有内容
Gsutil rm does not remove everything
我的一项自动化作业有问题。
在启动云数据流作业之前,我对以前的文件执行了 gsutil rm 但它似乎并没有删除所有内容,因为当我启动另一个数据流作业时,一些旧的碎片仍然存在。
我试过了:
gsutil -m rm gs://mybucket/blahblah/*
和
gsutil rm -r gs://mybucket/blablah
但结果相同...
奇怪的是,没有删除的文件既不是第一个也不是最后一个。
我认为这是我的第二个工作失误,但事实是我在日志中看到文件确实没有被 gsutil 删除。
会不会是文件太多需要删除?
gsutil rm 可靠性是否存在已知问题?
我使用 google cloud sdk
0.9.80 版本
谢谢
您使用的 gsutil rm 命令取决于列出存储桶中的对象,这是 Google 云存储中的最终一致操作。因此,在写入对象后立即在存储桶中尝试这些命令可能不会删除所有对象。如果您稍后再试,应该会成功。
避免此问题的一种方法是跟踪您上传的对象的名称,并在 gsutil rm 命令中明确列出这些对象。例如,如果您将对象列表保存在文件 objects.manifest 中,您可以 运行 在 Linux 或 MacOS 上执行这样的命令:
xargs gsutil -m rm < objects.manifest
我的一项自动化作业有问题。 在启动云数据流作业之前,我对以前的文件执行了 gsutil rm 但它似乎并没有删除所有内容,因为当我启动另一个数据流作业时,一些旧的碎片仍然存在。
我试过了:
gsutil -m rm gs://mybucket/blahblah/*
和
gsutil rm -r gs://mybucket/blablah
但结果相同...
奇怪的是,没有删除的文件既不是第一个也不是最后一个。 我认为这是我的第二个工作失误,但事实是我在日志中看到文件确实没有被 gsutil 删除。
会不会是文件太多需要删除? gsutil rm 可靠性是否存在已知问题?
我使用 google cloud sdk
0.9.80 版本谢谢
您使用的 gsutil rm 命令取决于列出存储桶中的对象,这是 Google 云存储中的最终一致操作。因此,在写入对象后立即在存储桶中尝试这些命令可能不会删除所有对象。如果您稍后再试,应该会成功。
避免此问题的一种方法是跟踪您上传的对象的名称,并在 gsutil rm 命令中明确列出这些对象。例如,如果您将对象列表保存在文件 objects.manifest 中,您可以 运行 在 Linux 或 MacOS 上执行这样的命令:
xargs gsutil -m rm < objects.manifest