Machine learning Google Cloud AutoML中的身份验证问题
我在做谷歌云实体提取的AutoML演示时遇到了一些身份验证问题。我使用他们提供的示例创建了模型,并创建和部署了我的模型。然而,我似乎无法真正获得我的数据。这是我正在使用的,这是我正在尝试运行的 我填写了正确的项目id和型号id,但问题是我似乎无法运行该程序而不出现以下错误:Machine learning Google Cloud AutoML中的身份验证问题,machine-learning,google-cloud-platform,nlp,google-cloud-storage,google-cloud-automl,Machine Learning,Google Cloud Platform,Nlp,Google Cloud Storage,Google Cloud Automl,我在做谷歌云实体提取的AutoML演示时遇到了一些身份验证问题。我使用他们提供的示例创建了模型,并创建和部署了我的模型。然而,我似乎无法真正获得我的数据。这是我正在使用的,这是我正在尝试运行的 我填写了正确的项目id和型号id,但问题是我似乎无法运行该程序而不出现以下错误: (venv) C:\Users\willi\Documents\machinelearningtest>py retrieveresult.py Traceback (most recent call last):
(venv) C:\Users\willi\Documents\machinelearningtest>py retrieveresult.py
Traceback (most recent call last):
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\google\api_core\grpc_helpers.py", line 57, in error_remapped_callable
return callable_(*args, **kwargs)
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\grpc\_channel.py", line 824, in __call__
return _end_unary_response_blocking(state, call, False, None)
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\grpc\_channel.py", line 726, in _end_unary_response_blocking
raise _InactiveRpcError(state)
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.PERMISSION_DENIED
details = "The caller does not have permission"
debug_error_string = "{"created":"@1578714342.247000000","description":"Error received from peer ipv4:172.217.14.74:443","file":"src/core/lib/surface/call.cc","file_line":1056,"grpc_message":"The caller does not have permission","grpc_status":7}"
>
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "retrieveresult.py", line 20, in <module>
response = prediction_client.predict(model_full_id, payload)
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\google\cloud\automl_v1\gapic\prediction_service_client.py", line 322, in predict
return self._inner_api_calls["predict"](
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\google\api_core\gapic_v1\method.py", line 143, in __call__
return wrapped_func(*args, **kwargs)
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\google\api_core\retry.py", line 281, in retry_wrapped_func
return retry_target(
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\google\api_core\retry.py", line 184, in retry_target
return target()
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\google\api_core\timeout.py", line 214, in func_with_timeout
return func(*args, **kwargs)
File "C:\Users\willi\Documents\machinelearningtest\venv\lib\site-packages\google\api_core\grpc_helpers.py", line 59, in error_remapped_callable
six.raise_from(exceptions.from_grpc_error(exc), exc)
File "<string>", line 3, in raise_from
google.api_core.exceptions.PermissionDenied: 403 The caller does not have permission
(venv)C:\Users\willi\Documents\machinelearningtest>py retrieveresult.py
回溯(最近一次呼叫最后一次):
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\google\api\u core\grpc\u helpers.py”,第57行,出现错误\u重新映射\u可调用
返回可调用函数(*args,**kwargs)
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\grpc\\ u channel.py”,第824行,在调用中__
返回\u结束\u一元\u响应\u阻塞(状态、调用、错误、无)
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\grpc\\ u channel.py”,第726行,在一元响应中
raise\u InactiveRpcError(状态)
grpc.\u信道。\u不活动覆盖PCERROR:
上述异常是以下异常的直接原因:
回溯(最近一次呼叫最后一次):
文件“retrieveresult.py”,第20行,在
响应=预测\u客户端.predict(模型\u完整\u id,有效负载)
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\google\cloud\automl\u v1\gapic\prediction\u service\u client.py”,第322行,在predict中
返回self.\u内部\u api\u调用[“预测”](
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\google\api\u core\gapic\u v1\method.py”,第143行,在调用中__
返回包装函数(*args,**kwargs)
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\google\api\u core\retry.py”,第281行,在retry\u wrapped\u func中
返回重试\u目标(
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\google\api\u core\retry.py”,第184行,在retry\u目标中
返回目标()
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\google\api\u core\timeout.py”,第214行,在func\u中带有\u timeout
返回函数(*args,**kwargs)
文件“C:\Users\willi\Documents\machinelearningtest\venv\lib\site packages\google\api\u core\grpc\u helpers.py”,第59行,出现错误\u重新映射\u可调用
六、从(例外情况。从grpc错误(exc),exc)
文件“”,第3行,从
google.api_core.exceptions.PermissionDenied:403调用方没有权限
我不知道如何使用代码中的服务帐户来获得权限…是否可以获取一些指针?这是我第一次使用类似的东西。来自官方GCP:
GOOGLE\u APPLICATION\u CREDENTIALS
环境变量设置为创建服务帐户时下载的服务帐户密钥文件的路径:
export GOOGLE\u APPLICATION\u CREDENTIALS=key file
PROJECT\u ID
环境变量设置为您的项目ID。AutoML API调用和资源名称包含您的项目ID。PROJECT\u ID环境变量提供了一种方便的方法来指定ID:
export PROJECT\u ID=您的项目ID
service-account1@myproject.iam.gserviceaccount.com
:如何设置应用程序的服务帐户?为服务帐户分配了哪些角色?请编辑问题并提供更多详细信息。您没有在代码中指定服务帐户,因此这意味着您正在使用ADC(应用程序默认凭据)库正在为您查找凭据。Google搜索Google Cloud ADC并按照文档进行安装。
gcloud auth login
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:service-account-name" \
--role="roles/automl.editor"