我正在尝试编写一个过程,以将大量文件从一个存储桶复制到另一个存储桶。
我从google-cloud-python plain开始,它在约3k个文件中崩溃并出现503个错误,然后我转为批处理模式(仍然使用python libs),并在约10,000个文件中崩溃,因为操作所花费的时间超过了固定时间30秒超时,然后当我尝试使用blob.rewrite
时,发现在python库的批处理模式下未实现。
现在我正在考虑使用subprocess.run
来调用gsutil
,但是由于文件在某种程度上是任意的,因此它们不共享目录或掩码。我必须为每个文件运行命令,这可能会非常慢。我目前正在阅读文档,找不到将列表传递给一个gustil执行的方法(例如json,cvs等)。
这样说,将许多任意文件从一个存储桶复制到另一个存储桶的正确方法是什么?
答案 0 :(得分:0)
对于大量文件,建议您在一个存储桶到另一个存储桶之间设置一个file transfert。
以编程方式,这将花费您很多时间(编码和传输),以防万一失败,多线程传输以及所有这些无聊的事情,您必须处理重试。转运服务为您完成。