将多个文件上传到 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
加速)。
这是我的情况,我想将多个文件复制到 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
加速)。