小编col*_*ple的帖子

从 Compute Engine 发布到 Cloud Pub/Sub 主题时出现 DEADLINE_EXCEEDED

我有一个在 Google Compute Engine 实例中运行的 Java 应用程序。我正在尝试使用google-cloud 库将消息发布到 Cloud Pub/Sub 主题,DEADLINE_EXCEEDED但出现异常。代码如下所示:

PubSub pubSub = PubSubOptions.getDefaultInstance().toBuilder()
            .build().getService();

String messageId = pubSub.publish(topic, message);
Run Code Online (Sandbox Code Playgroud)

结果是:

com.google.cloud.pubsub.PubSubException: io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED

文档表明此响应通常是由网络问题引起的。是否需要在“网络”部分配置某些内容以允许 Compute Engine 访问 Pub/Sub?存在默认允许内部防火墙规则。

我已将我的 Compute Engine 服务帐户设为 Pub/Sub 主题权限中的编辑者和发布者。

该应用程序驻留在容器引擎管理的 Compute Engine 实例内的 Docker 容器中。Pub/Sub 主题和 Compute Engine 实例在同一个项目中。我可以使用 google-cloud 库连接到其他 Cloud Platform 服务,例如 Datastore。我还可以从同一个项目中的 App Engine 实例顺利地发布到同一个 Pub/Sub 主题。

使用 google-api-services-pubsub API 库而不是 google-cloud 会更幸运吗?

java google-compute-engine google-cloud-platform google-cloud-pubsub

5
推荐指数
1
解决办法
5079
查看次数