问题描述
我正在尝试构建python脚本并将其作为HTTP函数/无服务器云功能部署到Pivotal Cloud Foundry或GKE上,但是我浏览了几篇文章,其中大多数提到使用SA并下载Json密钥,进行设置env变量转换为JSON密钥位置并运行脚本。
但是在云上部署本地下载的JSON密钥文件时,如何提供?
我已经浏览了以下链接,但是由于我是GCP的新手,所以我不明白,有人可以向我详细说明如何实现此目标吗?
- Google Cloud Vision API - Python
- Google cloud vision api- OCR
- https://cloud.google.com/vision/docs/quickstart-client-libraries#client-libraries-usage-python
解决方法
根据docs,在函数执行期间,Cloud Functions使用服务帐户PROJECT_ID@appspot.gserviceaccount.com
作为其标识。例如,当使用Google Cloud Client Libraries向Google Cloud Platform服务发出请求时,Cloud Functions可以自动获取并使用令牌来授权该身份有权使用的服务。
默认情况下,运行时服务帐户具有“编辑者”角色,从而可以访问许多GCP服务。对于您的情况,您将需要启用Vision API并向默认服务帐户授予必要的权限。请查看Function Identity Docs了解更多详细信息。
,如果您更方便,则可以使用api键代替SA json文件。但是,如果使用api键,则只能发送图像字节或指定公共图像。