Firebase 功能和存储已停止工作

Posted

技术标签:

【中文标题】Firebase 功能和存储已停止工作【英文标题】:Firebase Function & Storage has stopped working 【发布时间】:2021-10-16 03:04:49 【问题描述】:

我使用 FB admin SDK 编写了两个函数(~ 07/20/21)将文件上传到 FB Storage。它适用于 300 多次上传。我昨天(08 月 11 日)回到它,它不再工作,并且没有代码更改(据我所知)。

FB函数Logs说app ReferenceError: bucket is not defined at Object.writeFileToFirebase (/workspace/uploadUtils.js:12:18)存储桶是按照documentation在我的./firebaseConfig.js中定义的。

const firebase = require('firebase')
const functions = require('firebase-functions')
const admin = require('firebase-admin')
const firebaseConfig = require('./firebaseConfig.js')
firebase.initializeApp(firebaseConfig)
admin.initializeApp(firebaseConfig)
const bucket = admin.storage().bucket()

而我的两个函数都是从uploadUtils.js导出的

async function writeFileToFirebase(filename, mimetype, filebuffer) 
    const file = bucket.file(filename)
    const filestream = file.createWriteStream(
        metadata: 
            contentType: mimetype
        
    )
        
    await filestream.end(filebuffer).catch(functions.logger.log(err))
    
    return


async function createThumbnail(newthumbname, mimetype, filebuffer) 
    const file = bucket.file(newthumbname)
    const thumbstream = file.createWriteStream(
        metadata: 
            contentType: mimetype
        
    )

    const gm = require('gm').subClass(
        imageMagick: true
    )
    
    gm(filebuffer)
        .resize(240, 240)
        .toBuffer('jpg', (err, thumbbuffer) => 
            thumbstream.end(thumbbuffer).catch(console.log(err))
        )
    
    return

exports.writeFileToFirebase = writeFileToFirebase
exports.createThumbnail = createThumbnail

错误消息的第 12 行是 const file = admin.storage().bucket()

我的bucket 声明的范围比函数调用高。我正在使用我在firebaseConfig.js 中指定的默认存储桶。

谁能告诉我我的bucket 声明有什么问题?还是我的问题在别处?

【问题讨论】:

【参考方案1】:

看来我需要将这两行移到函数声明中。它们不是继承的...我不知道为什么在此更改之前这曾经有效。

const admin = require('firebase-admin')
const bucket = admin.storage().bucket()

【讨论】:

以上是关于Firebase 功能和存储已停止工作的主要内容,如果未能解决你的问题,请参考以下文章

WInForm已停止工作怎么回事

Desktop Interface已停止工作

clover已停止工作怎么处理

Coreldraw出现已停止工作该怎么解决

Creo 2.0 from PTC 已停止工作,怎么解决???

更新以前工作的不工作的 Pod 已停止工作