虽然可以使用API密钥用于将调用与开发人员项目相关联,但实际上并未用于授权。 Dataproc的REST API与Google Cloud Platform中大多数其他可计费的REST API一样,使用oauth2进行身份验证和授权。如果您想以编程方式调用API,则可能需要使用其中一个客户端库,例如Java SDK for Dataproc,它提供了有关低级别JSON协议的便利包装,并为您提供了handy thick libraries for using oauth2 credentials。
您也可以使用Google的API explorer试验直接REST API,您需要点击右上角的“使用OAuth 2.0授权请求”按钮。
我也注意到你在0123ap的Dataproc URI路径下使用了us-central1-f;请注意,Dataproc的地区不与计算引擎区域或地区一一对应;相反,Dataproc的区域将包含多个计算引擎区域或区域。目前,只有一个Dataproc区域可以公开使用,称为global
,并且能够将群集部署到所有计算引擎区域。为便于说明使用了OAuth2访问令牌,你可以简单地使用与gcloud
沿curl
如果您已经安装了gcloud
CLI:
PROJECT='<YOUR PROJECT HERE>'
ACCESS_TOKEN=$(gcloud beta auth application-default print-access-token)
curl \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Content-Type: application/json" \
https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/global/clusters
请记住,ACCESS_TOKEN
印刷通过gcloud这里自然到期(约5分钟,如果我没记错的话);关键的概念是,您在每个请求的HTTP标头中传递的令牌通常都是“短期”令牌,并且通过设计,您将拥有代码,只要访问令牌在使用“刷新令牌”到期时分别获取新令牌“;这有助于防止意外损害长期凭证。这种“刷新”流程是厚实的auth库在底层处理的一部分。