通过终端在Google Cloud上下载zip文件

时间:2019-05-30 09:01:51

标签: curl google-cloud-platform zip

我想下载大量存储在Google云中的zip文件,我想要一个脚本来执行此操作,因此不必一次执行一个。

我尝试使用

下载一个文件
curl -o https://storage.cloud.google.com/foo.zip

但是我收到一条错误消息,提示未指定URL。

也许curl是错误的功能吗?

我想下载多个托管在google cloud上的zip文件,这些zip文件同时显示在一个.txt文件中,或者一个接一个。

1 个答案:

答案 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命令。