【发布时间】:2020-01-16 16:42:47
【问题描述】:
我正在尝试编写一个将大量文件从一个存储桶复制到另一个存储桶的过程。
我从 google-cloud-python plain 开始,它在大约 3k 个文件时崩溃并出现一些 503 错误,然后我切换到批处理模式(仍然使用 python 库)并在大约 10k 个文件时崩溃,因为操作需要超过固定的30秒超时,然后当我尝试使用blob.rewrite时发现python库的批处理模式下没有实现。
现在我正在考虑使用subprocess.run 调用gsutil,但由于文件是任意的,因此它们不共享目录或掩码。我必须为每个文件运行命令,这可能非常慢。我目前正在阅读文档,但找不到将列表传递给 gustil 执行(如 json、cvs 等)的方法。
这么说,将大量任意文件从一个存储桶复制到另一个存储桶的正确方法是什么?
【问题讨论】:
-
感觉这就是你想要使用的 API。每个要从一个存储桶复制到另一个存储桶的文件执行一次。 - cloud.google.com/storage/docs/json_api/v1/objects/copy