【发布时间】:2018-10-20 20:31:39
【问题描述】:
我在向部署在我的 Google Cloud Kubernetes 集群中的 Spring Boot 应用程序发送请求时遇到困难。我的应用程序收到一张照片并将其发送到 Google Vision API。我正在使用提供的客户端库 (https://cloud.google.com/vision/docs/libraries#client-libraries-install-java),如此处所述 https://cloud.google.com/vision/docs/auth:
如果您使用客户端库调用 Vision API,请使用应用默认凭据 (ADC)。使用 ADC 的服务在 GOOGLE_APPLICATION_CREDENTIALS 环境变量中查找凭据。除非您特别希望 ADC 使用其他凭据(例如,用户凭据),否则我们建议您将此环境变量设置为指向您的服务帐户密钥文件。
在我的本地机器上一切正常,我有一个带有 env 的 docker 容器。变量 GOOGLE_APPLICATION_CREDENTIALS 指向我的服务帐户密钥文件。
我的集群中没有此变量。这是我从 Kubernetes 集群中的应用程序得到的响应:
{
"timestamp": "2018-05-10T14:07:27.652+0000",
"status": 500,
"error": "Internal Server Error",
"message": "io.grpc.StatusRuntimeException: PERMISSION_DENIED: Request had insufficient authentication scopes.",
"path": "/image"
}
我做错了什么?提前谢谢!
【问题讨论】:
标签: kubernetes google-cloud-platform google-vision