代码之家  ›  专栏  ›  技术社区  ›  Stradosphere

如何在firebase云功能中最好地管理数据库URL?

  •  0
  • Stradosphere  · 技术社区  · 8 年前

    我有一个dev数据库和一个staging数据库,我希望我的firebase cloud函数根据部署的位置使用合适的数据库,是否有一个变量或一些我可以引用的东西,这样我就不必在每次部署到dev或staging环境之前手动更改URL?

    var FirebaseDBUrlVar = 'some-url-to-firebase-dev';
    
    admin.initializeApp({
      credential: admin.credential.cert(serviceAccount),
      databaseURL: FirebaseDBUrlVar,
    });
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   Doug Stevenson    8 年前

    从firebase functions SDK的1.0版开始,您可以不带参数地初始化SDK,它将自动获取您环境的所有默认值:

    admin.initializeApp()
    

    如果需要向其中添加服务帐户,可以从中解析默认值 process.env.FIREBASE_CONFIG 并将凭证添加到其中:

    const serviceAccount = require('./service-account-credentials.json')
    const adminConfig = JSON.parse(process.env.FIREBASE_CONFIG)
    adminConfig.credential = admin.credential.cert(serviceAccount)
    admin.initializeApp(adminConfig)