我想下载大量存储在Google云中的zip文件,我想要一个脚本来执行此操作,因此不必一次执行一个。
我尝试使用
下载一个文件curl -o https://storage.cloud.google.com/foo.zip
但是我收到一条错误消息,提示未指定URL。
也许curl是错误的功能吗?
我想下载多个托管在google cloud上的zip文件,这些zip文件同时显示在一个.txt文件中,或者一个接一个。
答案 0 :(得分:1)
有两种使用命令行下载文件的解决方案。
gsutil
您可以只使用gsutil cp
命令:
gsutil cp gs://[BUCKET_NAME]/foo.zip .
您还可以查看gsutil rsync
command。
cURL
如果无法使用gsutil
,您仍然可以使用cURL
,但是如果存储桶中的对象不是公共对象,则可能需要进行身份验证(我假设您不希望对象成为在这里公开)。
从docs about downloading objects(“ REST APIS”标签):
curl -X GET \
-H "Authorization: Bearer [OAUTH2_TOKEN]" \
-o "[SAVE_TO_LOCATION]" \
"https://www.googleapis.com/storage/v1/b/[BUCKET_NAME]/o/[OBJECT_NAME]?alt=media"
如您所见,您将需要一个oauth2授权访问令牌(请参见docs on how to authenticate to Cloud Storage)。
但是,即使有可能,我还是强烈建议您使用docs中所述的第一个选项(gsutil
):
要轻松下载存储桶或子目录中的所有对象,请使用
gsutil cp
命令。