【问题标题】:Downloading object from google cloud storage using 'get' method使用“get”方法从谷歌云存储下载对象
【发布时间】:2019-07-03 13:44:07
【问题描述】:

我正在尝试使用此处所述的“get”方法从谷歌云存储桶下载对象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()

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

现在我知道我可以使用 python 客户端 api 来下载对象,但是有没有办法可以使用“get”方法来完成?还是我遗漏了一些明显的东西(这是可能的,因为我是 gcp 新手)

【问题讨论】:

    标签: google-cloud-platform google-cloud-storage


    【解决方案1】:

    正如您所说,该获取请求可以获取存储桶内的对象或对象的元数据。使用您共享的调用将仅获取元数据,如果您想获取对象,则必须使用“-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
    

    【讨论】:

    • 我可以这样做。但是我希望我可以在 python 中做到这一点。但我认为要在 python 中做我想做的事,必须使用客户端 api。感谢您的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    相关资源
    最近更新 更多