将多个文件上传到 google 云存储上不同位置的有效方法

Efficient way upload multiple files to separate locations on google cloud storage

这是我的情况,我想将多个文件复制到 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 执行它们似乎真的很慢,而且很多时间都浪费在设置网络连接上。请问最有效的方法是什么?

如果您的路径与示例中的路径一致,您可以使用一个 gsutil 命令来完成此操作:

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

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