温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - Downloading object from google cloud storage using 'get' method

其他 - 使用“获取”方法从Google云存储下载对象

发布于 2020-03-27 10:42:22

我正在尝试使用此处所述的“获取”方法从Google云存储桶中下载对象,如此处所述https://cloud.google.com/storage/docs/json_api/v1/objects/get

它在那里表示“检索对象或其元数据”

我想使用API​​下载文档中提到的对象,但是我所能获得的只是一个包含对象元数据的字典。

我尝试使用元数据中提供的selfLink和mediaLink,但无济于事。

http_request=resource.objects().get(bucket='bucket-name',object='Object-name')
http_response=http_request.execute()

资源是有效的经过身份验证的资源对象,因为其他方法都可以正常工作。

现在我知道我可以使用python客户端api下载对象,但是有没有一种方法可以使用“获取”方法来完成?还是我缺少明显的东西(这可能是我刚接触gcp的可能)

查看更多

查看更多

提问者
WonderChild
被浏览
60
Alex Riquelme 2019-07-04 00:04

如您所说,获取请求可以获取存储桶中的对象或对象的元数据。使用共享的调用将仅获取元数据,如果要获取对象,则必须使用“ -o”标志指定目标,该命令应类似于以下内容:

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"

请记住,如果要生成令牌,可以使用以下命令生成令牌:

gcloud beta auth application-default print-access-token