哪个更适合与生产转移,gsutil或Google云存储API一起使用?
答案 0 :(得分:4)
gsutil
使用Google云端存储API传输数据,特别是JSON API(默认情况下,您可以更改它)。它直接使用API的主要优点是它已经过调整以快速传输数据。例如,它可以打开多个同时连接到GCS的连接,每个连接都同时上传或下载部分文件,这在很多情况下可以显着提高总吞吐量。
没有理由直接对API进行编程也无法提供相同甚至更好的性能,但如果以最简单的方式实现,我希望gsutil的平均速度至少要快一点。
答案 1 :(得分:3)
我不确定这是否会增加布兰登的说法。我对gcloud存储和Python很新,但我很快就发现我更喜欢尽可能在python客户端库上使用gsutil命令行。我创建了计算实例,它们在启动后从云存储中复制几GB输入数据。我发现尽可能使用gsutil命令行更简洁,更快,所以在我的python代码中我使用:
import subprocess
subprocess.call("gsutil -m cp gs://my-uberdata-archive/* /home/<username>/rawdata/", shell=True)
主要原因是我可以在一行中执行命令,而使用客户端库需要多行,而且正如Brandon所指出的,gsutil支持带有'-m'标志的多线程。我还没有找到使用Python客户端库执行此操作的等效方法。