在生产转移中使用gsutil或google cloud storage API有什么好处吗?

moh*_*ail 5 google-cloud-storage gsutil

生产传输,gsutil或google cloud storage API哪个更适合使用?

Bra*_*ugh 6

gsutil使用 Google Cloud Storage API 传输数据,特别是 JSON API(默认情况下,您可以更改它)。与直接使用 API 相比,它的主要优势在于它已经过调整以快速传输数据。例如,它可以同时打开多个到 GCS 的连接,每个连接同时上传或下载文件的一部分,这在许多情况下可以显着提高总吞吐量。

没有理由直接针对 API 进行编程也不能提供相同甚至更好的性能,但是如果您以最简单的方式实现事物,我希望 gsutil 平均至少要快一点。


Pau*_*aul 5

我不确定这是否比布兰登所说的增加了很多。我对 gcloud 存储和 Python 非常陌生,但我很快发现我更喜欢尽可能使用 gsutil 命令行而不是 python 客户端库。我创建的计算实例在启动后从云存储复制几 GB 的输入数据。我发现在可能的情况下使用 gsutil 命令行来完成此操作既简洁又快捷,因此在我的 python 代码中我使用:

import subprocess
subprocess.call("gsutil -m cp gs://my-uberdata-archive/* /home/<username>/rawdata/", shell=True)
Run Code Online (Sandbox Code Playgroud)

主要原因是我可以在一行中执行该命令,而使用客户端库需要多行命令,并且正如 Brandon 指出的那样,gsutil 支持带有“-m”标志的多线程。我还没有找到使用 Python 客户端库执行此操作的等效方法。