高效的方式将多个文件上传到谷歌云存储上的不同位置

时间:2016-11-20 15:58:17

标签: google-cloud-storage gsutil

以下是我的情况,我想将多个文件复制到Google云端存储上的不同位置,例如:

gsutil -m cp /local/path/to/d1/x.csv.gz gs://bucketx/d1/x.csv.gz
gsutil -m cp /local/path/to/d2/x.csv.gz gs://bucketx/d2/x.csv.gz
gsutil -m cp /local/path/to/d3/x.csv.gz gs://bucketx/d3/x.csv.gz
...

我有超过10k的这样的文件,并且通过单独调用gsutil来执行它们似乎非常慢,并且浪费了很多时间来设置网络连接。请问最有效的方法是什么?

1 个答案:

答案 0 :(得分:1)

如果您的路径在您的示例中始终具有性质,则可以使用一个gsutil命令执行此操作:

gsutil -m cp -r /local/path/to/* gs://bucketx

但是,这仅在您希望目标命名镜像源时才有效。如果您的路径是源名称到目标名称的任意映射,则您需要运行单独的命令(正如您所注意到的那样可以使用parallel加速)。