【发布时间】:2020-06-27 01:31:45
【问题描述】:
我已将一个 JVM 应用程序部署到 Google 云运行,该应用程序使用 Firebase Admin SDK 在 Firebase Cloud Messaging 上发送通知。 使用 GOOGLE_APPLICATION_CREDENTIALS 在本地一切正常。但是,部署的应用程序会引发如下错误:
java.lang.IllegalArgumentException: Project ID is required to access messaging service. Use a service account credential or set the project ID explicitly via FirebaseOptions. Alternatively you can also set the project ID via the GOOGLE_CLOUD_PROJECT environment variable.
我将 FirebaseMessaging 实例创建为:
FirebaseMessaging.getInstance(
FirebaseApp.initializeApp(
FirebaseOptions.Builder().setCredentials(
GoogleCredentials.getApplicationDefault()
).build()
我已使用具有 Cloud Run 管理员权限的服务帐户部署了 Cloud Run 实例。
我的理解是,部署到任何 GCP 服务的应用程序都会自动获取应用程序凭据。 Cloud Run 和 Firebase Admin SDK 的组合有什么不同吗?
任何帮助将不胜感激。
【问题讨论】:
标签: firebase google-cloud-platform firebase-admin google-cloud-run