我正在尝试编写一个过程,将大量文件从一个存储桶复制到另一个存储桶。
我从google-cloud-python普通版开始,它在大约3k的文件中崩溃了,大约有503个错误,然后我转移到批处理模式(仍然使用python库),在大约10k的文件中崩溃,因为操作花费了超过固定的30秒超时,然后当我试图使用blob.rewrite发现在python库中没有在批处理模式下实现。
现在我正在考虑使用subprocess.run来调用gsutil,但是因为文件是任意的,所以它们不共享目录或掩码。我必须为每个文件运行该命令,这可能会非常慢。我目前正在阅读文档,但找不到将列表传递给一次gustil执行的方法(如json、cvs等)。
那么,将大量任意文件从一个存储桶复制到另一个存储桶的正确方法是什么呢?
发布于 2020-01-16 16:42:48
对于大量的文件,建议您在一个存储桶到另一个存储桶之间设置一个file transfert。
在编程上,这将花费你很多时间(编码和传输),你必须处理失败情况下的重试,多线程传输和所有这些无聊的东西。转接服务会帮你做到这一点。
https://stackoverflow.com/questions/59759768
复制相似问题