gpt4 book ai didi

google-cloud-platform - 在GCP上使用Pubsub时如何解决认证范围不足的问题

转载 作者:行者123 更新时间:2023-12-02 19:37:46 31 4
gpt4 key购买 nike

我正在尝试构建 2 个微服务(在 Java Spring Boot 中)以使用 GCP Pub/Sub 相互通信。

首先,我测试了程序(在 Eclipse 中)在我的本地笔记本电脑(http://localhost)中按预期工作,即一个微服务发布了消息,另一个微服务使用在 GCP 中创建的主题/订阅者(以及凭证私钥:mypubsub.json)。

然后,我部署了相同的程序来运行 GCP,但出现了以下错误:

- 2020-03-21 15:53:16.831 WARN 1 --- [bsub-publisher2] o.s.c.g.p.c.p.PubSubPublisherTemplate : Publishing to json-payload-sample-topic topic failed
- com.google.api.gax.rpc.PermissionDeniedException: io.grpc.StatusRuntimeException: PERMISSION_DENIED: Request had insufficient authentication scopes. at com.google.api.gax.rpc.ApiExceptionFactory

我做了什么来部署程序(在容器中)以在 GCP/Kubernetes Engine 上运行:

  1. 切换到我的项目进行 Pubsub 测试后登录 Cloud Shell
  2. Git 克隆我在 Eclipse 中测试的程序
  3. 将 mypubsub.json 文件移动到/home/my_user_id 下
  4. 导出 GOOGLE_APPLICATION_CREDENTIALS="/home/my_user_id/mp6key.json"
  5. 运行“mvn clean package”来构建杂项服务程序
  6. 运行“docker build”来创建镜像文件
  7. 运行'docker push'将镜像文件推送到gcr.io repo
  8. 运行“kubectl create”来创建部署并公开服务

一旦部署并公开了 2 个微服务,当我尝试在浏览器中访问它们时,发布消息的那个可以很好地从数据库检索数据并处理数据,然后在尝试访问 GCP 时失败并出现上述错误Pubsub API 发布消息

任何人都可以提供有关检查内容以解决问题的提示吗?

最佳答案

问题已按照指南解决:

https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform

简单来说,解决方案是在 deployment.yaml 中添加以下行以加载凭证 key :

        - name: google-cloud-key
secret:
secretName: pubsub-key
containers:
- name: my_container
image: gcr.io/my_image_file
volumeMounts:
- name: google-cloud-key
mountPath: /var/secrets/google
env:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: /var/secrets/google/key.json

关于google-cloud-platform - 在GCP上使用Pubsub时如何解决认证范围不足的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60790804/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com