使用google-cloud-python API访问Dataproc时出现无效区域错误 [英] Invalid region error when using google-cloud-python API to access Dataproc

查看:140
本文介绍了使用google-cloud-python API访问Dataproc时出现无效区域错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 google-cloud在Dataproc中创建集群-python 库,但是,当设置region = 'us-central1'时,出现以下异常:

I am trying to create a cluster in Dataproc using google-cloud-python library, however, when setting region = 'us-central1' I get below exception:

google.api_core.exceptions.InvalidArgument: 400 Region 'us-central1' is invalid.
Please see https://cloud.google.com/dataproc/docs/concepts/regional-endpoints
for additional information on regional endpoints

代码(基于示例):

#!/usr/bin/python

from google.cloud import dataproc_v1

client = dataproc_v1.ClusterControllerClient()

project_id = 'my-project'
region = 'us-central1'
cluster = {...}

response = client.create_cluster(project_id, region, cluster)

推荐答案

Dataproc使用region字段来路由REST请求,但是,该字段未在gRPC客户端中使用(因此出现错误).

Dataproc uses region field for routing REST requests, however, the field is not used in gRPC clients (hence the error).

只能通过默认端点访问global多区域.要使用诸如us-central1之类的区域终结点,您必须配置该终结点以在客户端的transport上进行寻址.

Only the global multiregion can be accessed through the default endpoint. To use a regional endpoint such as us-central1, you have to configure the endpoint to address on the client's transport.

Dataproc区域端点遵循以下模式:<region>-dataproc.googleapis.com:443. region字段应设置为与端点中的区域相同的值.

The Dataproc regional endpoints follow this pattern: <region>-dataproc.googleapis.com:443. The region field should be set to the same value as the region in the endpoint.

示例:

#!/usr/bin/python

from google.cloud import dataproc_v1
from google.cloud.dataproc_v1.gapic.transports import cluster_controller_grpc_transport

transport = cluster_controller_grpc_transport.ClusterControllerGrpcTransport(
    address='us-central1-dataproc.googleapis.com:443')
client = dataproc_v1.ClusterControllerClient(transport)

project_id = 'my-project'
region = 'us-central1'
cluster = {...}

response = client.create_cluster(project_id, region, cluster)

这篇关于使用google-cloud-python API访问Dataproc时出现无效区域错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆