我正在使用 Spring Boot Starterspring-cloud-gcp-starter-pubsub
和PubSubTemplate
. 它与实际的 GCP 完美配合,但现在我想将它用于本地 Google PubSub 模拟器的测试。如何提供我的自定义 url、端口和无凭据?
或者我必须恢复使用普通的 google sdk,如本例所示
编辑:
我的应用程序中只有一个 bean:
@Service
class TestLocalPubsub(pubSubTemplate: PubSubTemplate)
和
应用程序属性:
spring.cloud.gcp.pubsub.emulator-host=localhost:8085
当我运行应用程序时,我得到了:
原因:java.io.IOException:应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。有关详细信息,请参阅https://developers.google.com/accounts/docs/application-default-credentials。在 com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:132) ~[google-auth-library-oauth2-http-0.12.0.jar:na] ...
但当然链接说的是 gcloud sdk,而不是 pubsubtemplate