Firebase 云功能中的 Firebase 存储错误

Posted

技术标签:

【中文标题】Firebase 云功能中的 Firebase 存储错误【英文标题】:Firebase Storage error in Firebase Cloud Function 【发布时间】:2021-10-16 01:38:53 【问题描述】:

我在云功能中使用const bucket = admin.storage().bucket();,在最顶部,我有:

const functions = require('firebase-functions')
const admin = require("firebase-admin");
admin.initializeApp();

当我尝试部署时,它给了我一个错误:

i 函数:从中加载环境变量。错误:缺少存储桶名称。如果是单元测试,请通过functions.storage.bucket(bucketName)提供bucket名称,或者设置process.env.FIREBASE_CONFIG。`

我相信这只是在我更新后才开始发生的。感谢您的帮助。

【问题讨论】:

我也遇到了这个问题,但我没有更改任何内容或更新firebase-functions。这是在我运行 admin.initializeApp() 之前发生的。 尝试部署云功能时出现相同的错误消息。将 firebase-tools 更新到 9.16.2 后才开始发生 我更新了 firebase-functions npm install --save firebase-functions@latest,它现在似乎可以工作了。 现在似乎已修复,无需更改我的依赖项——一定是后端 firebase 问题。 【参考方案1】:

经过更多测试,我意识到问题不在于admin.storage().bucket(),而在于functions.storage.object().onFinalize(...,应该是functions.storage.bucket('bucketname').object().onFinalize(...

【讨论】:

我遇到了同样的错误并尝试将存储桶名称指定为functions.storage.bucket('project-id.appspot.com').onFinalize(...,但它仍然抱怨未指定存储桶名称。我只是使用默认存储桶,昨天一直在解决这个问题......有什么想法吗? 我不确定。我所做的是从头开始,一次手动添加一个功能来尝试查找问题。也许您可以尝试一下,这可以帮助您找出错误发生的原因。【参考方案2】:

Google 发布了带有错误的新 firebase-tools,刚刚在 v9.16.3 中修复了该错误 https://github.com/firebase/firebase-tools/releases/tag/v9.16.3

Release note

【讨论】:

以上是关于Firebase 云功能中的 Firebase 存储错误的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 云功能中的 CORS 块

如何使用NodeJS中的firebase云功能从firebase实时数据库中找出最近的位置LatLng

如何在云功能中的两个 Firebase 项目之间切换? [复制]

验证 Firebase 云功能中的存储文件数据

CORS 不适用于 Firebase 云功能中的特定域

Cors - Firebase 云功能中的访问控制允许来源错误