如何通过云功能将字符串存储到firebase存储中

时间:2017-11-15 03:07:53

标签: firebase google-cloud-storage firebase-storage

我做了谷歌并尝试了一些代码,但没有用,因为每次我将云功能部署到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()...。还有另一种方法吗?你能写一些代码来详细说明吗?

1 个答案:

答案 0 :(得分:1)

您想要使用@google-cloud/storage模块。

// 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();    
}

请参阅我的parse-server GCS adapter以获取示例。