GCP 发布/订阅客户端在版本 4.0.0 以上失败并出现身份验证错误

问题描述 投票:0回答:1

当我尝试创建主题时会发生这种情况

   TypeError: this.auth.getUniverseDomain is not a function
        at GrpcClient.createStub (/Users/<...>/node_modules/google-gax/src/grpc.ts:418:48)
        at processTicksAndRejections (node:internal/process/task_queues:95:5)

示例代码:

pubSubClient = new PubSub({
      "projectId": "project_name"
    });

initTopic = async () => {
    // Creates a new topic if it does not exist
    const [topics] = await this.pubSubClient.getTopics()
    RootLogger.info("topic names: " + topics.join(","))
    const topicExists = topics.some(topic => topic.name.endsWith(this.topicName));

    if (topicExists) {
      RootLogger.info(`Topic ${this.topicName} already exists.`);
    } else {
      await this.pubSubClient.createTopic(this.topicName);
      RootLogger.info(`Topic ${this.topicName} created.`);
    }
  }
node.js typescript authentication google-cloud-platform google-cloud-pubsub
1个回答
0
投票

正如@vizsatiz 在评论中提到的:

错误

TypeError: this.auth.getUniverseDomain is not a function
已通过降级至3.7解决。使用4.0.0以上版本的pub/sub客户端时出现该问题。作为解决方法,任何在 4.0.0 以上版本中遇到相同问题的人都可以考虑首先降级版本。

将答案发布为

community wiki
,以造福于将来可能遇到此用例的社区。

请随意编辑此答案以获取更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.