Firebase Function(NodeJS)报错:ref is not a function 求助排查
问题原因及解决方案
你的报错核心原因是混淆了Firebase客户端Web SDK与Admin SDK的Storage API:Firebase Admin SDK的firebase-admin/storage模块并不导出ref函数,你按照Web SDK的写法调用自然会触发"ref is not a function"错误。
修正代码
把获取存储引用的代码替换为Admin SDK的正确写法:
// 替换原来的 ref(storage, 'fb ad base.jpg') const fbAdRef = storage.bucket().file('fb ad base.jpg');
补充说明
Firebase Admin SDK的Storage功能基于Google Cloud Storage(GCS)实现,操作存储对象的逻辑和Web客户端SDK不同:
- 先通过
storage.bucket()获取存储桶(默认使用项目默认存储桶,也可传入指定桶名) - 再通过
file()方法获取具体文件的引用
你之前能正常运行可能是误打误撞用对了写法,或是依赖版本更新后API发生变化,但当前核心问题就是用错了API规范。
内容的提问来源于stack exchange,提问作者Todd Davis
相关产品推荐
相关产品推荐

