如何通过Firebase云功能上的.firebaserc切换到另一个serviceAccountKey.json?

时间:2018-04-19 06:33:53

标签: firebase google-cloud-functions firebase-admin

在我的.firebaserc文件中,我提供了两个Firebase数据库,一个用于开发人员,一个用于生产:

{
  "projects": {
    "default": "db-dev",
    "production": "db-prod"
  }
}

因此,当我部署到生产环境时,我只会运行:

firebase use production
firebase deploy --only functions

我的问题是我还在我的一个云功能中使用云存储,所以我将在这里使用两个不同的serviceAccountKey.json文件:

const gcs = require('@google-cloud/storage')({ keyFilename: 'serviceAccountKey.json' })

我的问题是当我通过serviceAccountKey.json切换到另一个数据库时如何自动切换到另一个firebase use

2 个答案:

答案 0 :(得分:1)

firebase use没有办法像这样自动执行任何操作。它只是将Firebase项目附加到您的本地项目文件夹。它只为您管理.firebaserc

您必须找到另一种方法来完成这项工作。也许编写一个管理凭据和firebase use的脚本?

答案 1 :(得分:1)

每个Firebase项目都有自己的Environment Configuration。解决方案是将服务帐户密钥存储在那里。

为每个Firebase项目设置服务帐户密钥:

self.list_1 = nn.ModuleList(self.list_1)

可以通过firebase use default firebase functions:config:set admin.key="serviceAccountKey-dev.json" firebase use production firebase functions:config:set admin.key="serviceAccountKey-prod.json"

获取环境配置
functions.config()