com.google.cloud.pubsub API 访问国外项目的PubSub

Access a foreign project's PubSub with com.google.cloud.pubsub API

我有一个 AppEngine 应用程序可以将消息发布到 PubSub。 现在我想从不同的 GCP 项目中读取这些消息。 这可以使用 com.google.apis/google-api-services-pubsub v1-rev8-1.21.0 和服务帐户密钥。

我以 https://github.com/GoogleCloudPlatform/cloud-pubsub-samples-java 中的示例作为指导。 部分代码有点难看(例如需要 RetryHttpInitializerWrapper)所以我想知道是否可以使用 com.google.cloud/google-cloud-pubsub v.0.4.0

但是我不知道如何指定不同的项目。 所有示例都简单地使用

PubSub pubsub = PubSubOptions.defaultInstance().service();

这给了我自己项目的实例。 如何告诉 PubSub 使用不同的 projectId?

在google-cloud-java库的v0.4.0中,您可以使用PubSubOptions.Builder to create your PubSubOptions. You would use the projectId method to set the project. Note that in v0.5.0, this method was deprecated in favor of setProjectId.