【发布时间】:2021-06-03 16:29:05
【问题描述】:
我不得不为 Google 的 Firebase 服务下载一个密钥,并为 pub/sub 下载另一个密钥。我应该如何使用 GOOGLE_APPLICATION_CREDENTIALS 关键字来引用这两个键?
【问题讨论】:
标签: google-cloud-platform google-cloud-firestore google-cloud-pubsub
我不得不为 Google 的 Firebase 服务下载一个密钥,并为 pub/sub 下载另一个密钥。我应该如何使用 GOOGLE_APPLICATION_CREDENTIALS 关键字来引用这两个键?
【问题讨论】:
标签: google-cloud-platform google-cloud-firestore google-cloud-pubsub
通常您只使用一个具有所需权限的服务帐户。
Application Default Credentials (ADC) 支持一个且只有一个由环境变量GOOGLE_APPLICATION_CREDENTIALS指定的服务账户JSON密钥文件。
为 Google Cloud 编写代码时,SDK clients 支持将服务帐号指定为参数。在您的示例中,您将需要使用适当的凭据(服务帐户 JSON 密钥文件)创建 SDK 客户端。 Firebase 管理员客户端可以使用一个凭据,而 Pub/Sub 客户端可以使用另一个凭据。
【讨论】:
我遇到了完全相同的问题。我试图在一台机器上运行两个不同的 Firestore 服务。每个服务使用不同的 Firestore 项目。据我所知,要通过直接访问我的 JSON 密钥文件来显式进行身份验证,我需要执行以下操作:
FirestoreClient 客户端 = 使用 ClientBuilderBase 及其属性:CredentialsPath FirestoreDb = FirestoreDb.Create(firestoreProjectId, client);
但由于 ClientBuilderBase 是一个抽象类,我很难过。任何人如果有一些示例代码可以真正做到这一点,将会是一个真正的帮助。
干杯 基思
【讨论】: