我正在尝试使用此处所述的“获取”方法从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的可能)
如您所说,获取请求可以获取存储桶中的对象或对象的元数据。使用共享的调用将仅获取元数据,如果要获取对象,则必须使用“ -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。谢谢(你的)信息。