【问题标题】:copying a lot of files from bucket to bucket将大量文件从存储桶复制到存储桶
【发布时间】:2020-01-16 16:42:47
【问题描述】:

我正在尝试编写一个将大量文件从一个存储桶复制到另一个存储桶的过程。

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

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

这么说,将大量任意文件从一个存储桶复制到另一个存储桶的正确方法是什么?

【问题讨论】:

标签: google-cloud-storage


【解决方案1】:

对于大量文件,我建议您在 1 个存储桶和另一个存储桶之间设置一个 file transfert

以编程方式,这将花费您大量时间(编码和传输),您必须处理失败时的重试、多线程传输和所有这些无聊的事情。转运服务为您代劳。

【讨论】:

  • 谢谢,但据我所知,文件传输不允许以简单的方式进行任意文件列表。仅通过 http,我必须为要传输的每个文件创建一个 gstorage 访问令牌。
  • 好的,您没有提到要在传输过程中过滤/处理您的文件。你能描述一下你想在你的问题中实现什么吗?
  • 当然,我从内部客户那里收到了大量文件,这些文件位于一个“神圣”存储桶中,我的应用需要将这些文件复制到其他人可以使用的“游乐场”存储桶中弄乱这些文件。
  • 使用文件传输功能将神圣存储桶中的所有文件都复制出来,然后删除无用的文件不是更简单吗?
猜你喜欢
  • 2017-11-23
  • 2019-08-07
  • 2022-01-07
  • 1970-01-01
  • 2013-11-01
  • 2018-06-18
  • 1970-01-01
  • 2021-09-27
  • 2021-09-18
相关资源
最近更新 更多