Google cloud storage 将大量文件从一个存储桶复制到另一个存储桶

Google cloud storage 将大量文件从一个存储桶复制到另一个存储桶,google-cloud-storage,Google Cloud Storage,我正在尝试编写一个进程,将大量文件从一个bucket复制到另一个bucket 我从google cloud python plain开始,它崩溃了约3k个文件,出现了大约503个错误,然后我转到批处理模式(仍然使用python libs),崩溃了约10k个文件,因为操作需要超过固定的30秒超时,当我试图使用blob.rewrite时,python库中的批处理模式并没有实现 现在我考虑使用subprocess.run调用gsutil,但由于文件是任意的,它们不共享dir或mask。我必须为每个文件

我正在尝试编写一个进程,将大量文件从一个bucket复制到另一个bucket

我从google cloud python plain开始,它崩溃了约3k个文件,出现了大约503个错误,然后我转到批处理模式(仍然使用python libs),崩溃了约10k个文件,因为操作需要超过固定的30秒超时,当我试图使用blob.rewrite时,python库中的批处理模式并没有实现

现在我考虑使用
subprocess.run
调用
gsutil
,但由于文件是任意的,它们不共享dir或mask。我必须为每个文件运行命令,这可能会非常慢。我目前正在阅读文档,无法找到将列表传递给gustil执行的方法(如json、cvs等)


那么,将大量任意文件从一个bucket复制到另一个bucket的正确方法是什么呢?

对于大量文件,我建议您设置一个介于1个bucket和另一个bucket之间的bucket


从编程的角度来说,它将花费你很多时间(编码和传输),你必须处理失败时的重试,多线程传输和所有这些无聊的事情。transfert服务可以为您完成此任务。

感觉这就是您想要使用的API。对要从一个存储桶复制到另一个存储桶的每个文件执行一次。-谢谢,但据我所知,文件传输不允许以一种简单的方式出现任意的文件列表。仅通过http,我必须为我要传输的每个文件创建一个gstorage访问令牌。好的,您没有提到要在传输过程中过滤/处理您的文件。你能描述一下在你的问题中你到底想要实现什么吗?当然,我从内部客户那里收到一个大的文件列表,这些文件位于一个“神圣”的桶中,我的应用程序需要将这些文件复制到一个“游乐场”其他人可以随意处理这些文件的存储桶。通过文件传输从神圣的存储桶中复制所有文件,然后删除无用的文件难道不容易吗?