如何通过云函数将字符串存储到firebase存储中

如何通过云函数将字符串存储到firebase存储中,firebase,google-cloud-storage,firebase-storage,Firebase,Google Cloud Storage,Firebase Storage,我用谷歌搜索了一下,尝试了一些代码,但没有成功,因为每次我把云功能部署到firebase上,大约需要30秒-1分钟,我认为如果我继续从互联网上尝试代码,那完全是浪费时间 因此,我需要编写一个云函数,如下所示: const admin = require('firebase-admin'); module.exports = function (request, response) { const { message } = request.body;

我用谷歌搜索了一下,尝试了一些代码,但没有成功,因为每次我把云功能部署到firebase上,大约需要30秒-1分钟,我认为如果我继续从互联网上尝试代码,那完全是浪费时间

因此,我需要编写一个云函数,如下所示:

    const admin = require('firebase-admin');
    module.exports = function (request, response) {
        const { message } = request.body;

        // Now, store `message` into firebase storage
        // path is: /messages/new_message, where `new_message`
        // is NOT a folder, but the file that contains `message`
    }
我确实有一个解决方案,但显然,这不是一个明智的选择,我的意思是,我总是可以安装
firebase
包,然后调用
initializeApp(…)
,然后调用
firebase.storage().ref()…
。还有别的办法吗?你能写一点代码来详细说明一下吗?

你会想使用这个模块

// Creates a GCS client,
const storage = new Storage();

module.exports = function (req, res) {
    const { message } = req.body;
    const bucket = storage .bucket('projectid.appspot.com');
    const file = bucket.file('myFolder/myFilename');
    // gcloud supports upload(file) not upload(bytes), so we need to stream.
    const uploadStream = file.createWriteStream();
        .on('error', (err) => {
            res.send(err);
        }).on('finish', () => {
            res.send('ok');
        }
    uploadStream.write(data);
    uploadStream.end();    
}
请参见我的示例