我正在尝试使用这里描述的方法'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的新手)
发布于 2019-07-04 00:04:56
正如您所说,get请求可以获取存储桶中的对象或对象的元数据。使用你共享的调用将只获取元数据,如果你想获取对象,你必须指定一个带有"-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-tokenhttps://stackoverflow.com/questions/56871573
复制相似问题