将 Cloud Function 部署到不同的 Firebase 项目

Fab*_*bio 3 environment firebase firebase-realtime-database google-cloud-functions

我有两个 Firebase 项目,一个用于开发 (project-dev),一个用于生产 (project-prod)。

我初始化了 firebase CLI,用于编写和部署链接到项目产品的云功能。然后我运行firebase use --add并添加了project-dev,以便我可以将相同的功能部署到两个项目;我不想将同一个函数重写两次。

此时,我就遇到了问题。在函数中,我必须向实时数据库写入一些内容,但是当我将函数部署到project-dev 时,它会写入project-prod 的数据库。

我想要实现的是该函数必须引用它部署到的项目的数据库。这样我就有一个函数,当它部署到project-dev时,它会写入project-dev的数据库,当它部署到project-prod时,它会写入project-prod的数据库。

有可能实现吗?如果不行的话,该走什么路呢?

编辑

功能代码:

exports.AddOrders= functions.https.onRequest(async (req, res) => {
    async function addOrder(key, value) {
        var ref = app.database().ref("/orders");
        return ref.child(key).set(value);
    }

    var orders = req.body['orders'];
    var promises = [];
    for (var key in orders) {
        promises.push(addOrder(key, orders[key]));
    }
    Promise.all(promises).then(
        _ => {
            res.sendStatus(200);
            return null;
        }
    ).catch(err => {
        res.send(err);
    })
});
Run Code Online (Sandbox Code Playgroud)

(这个函数工作正常,问题是它写入了错误的数据库)

Max*_*Max 9

添加项目后,firebase use --add <projektName>您需要使用 选择它firebase use <projectName>firebase deploy然后您可以使用或部署到选定的项目firebase deploy --only functions