moh*_*ail 5 google-cloud-storage gsutil
生产传输,gsutil或google cloud storage API哪个更适合使用?
gsutil使用 Google Cloud Storage API 传输数据,特别是 JSON API(默认情况下,您可以更改它)。与直接使用 API 相比,它的主要优势在于它已经过调整以快速传输数据。例如,它可以同时打开多个到 GCS 的连接,每个连接同时上传或下载文件的一部分,这在许多情况下可以显着提高总吞吐量。
没有理由直接针对 API 进行编程也不能提供相同甚至更好的性能,但是如果您以最简单的方式实现事物,我希望 gsutil 平均至少要快一点。
我不确定这是否比布兰登所说的增加了很多。我对 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 客户端库执行此操作的等效方法。
| 归档时间: |
|
| 查看次数: |
974 次 |
| 最近记录: |