试图访问实时数据库时,Firebase Node.jspipe理SDK超时
使用带有Firebase函数的Node.js admin SDK每当我尝试访问实时数据库时,都会收到一个超时值。 只有在本地testing函数( firebase serve --only functions,hosting
仅适用firebase serve --only functions,hosting
)以及使用functions.config().firebase
firebase serve --only functions,hosting
初始化默认应用程序时才会发生这种情况。
这是一个刚刚发生在几天前的新行为。 但是,如果我尝试使用serviceAccount.json
文件初始化默认应用程序,则一切正常。
我正在使用firebase-admin
版本4.2.1和firebase firebase-functions
版本0.5.9 。
我写了一个简单的http triggered
函数,由于超时而失败:
const functions = require('firebase-functions'); const admin = require('firebase-admin'); admin.initializeApp(functions.config().firebase); const db = admin.database(); exports.testDbConnection = functions.https.onRequest((req, res) => { return admin.database().ref().once('value') .then(function(snapshot) { res.json(snapshot); }).catch(function(error) { res.json(error); }); });
从文档
始终使用send(),redirect()或end()结束HTTPfunction。 否则,您的function可能会继续运行,并被系统强行终止
请参阅https://firebase.google.com/docs/functions/http-events#terminate_http_functions
这可能取决于您正在使用的firebase-tools
版本,但看起来很熟悉这个Github问题
解决scheme是升级到最新版本的CLI或使用解决方法:
- 转到https://cloud.google.com/console/iam-admin/serviceaccounts
- 点击“创build服务帐户”,给它一个名称(如模拟器),给它的项目>所有者angular色。检查“提供一个新的私钥”,select“JSON”。
- 将文件保存在计算机上的某处
- 运行
export GOOGLE_APPLICATION_CREDENTIALS="absolute/path/to/file.json"
- 运行
firebase serve --only functions
- angular/离子处理成功200作为一个错误
- Firebase child.once在auth.signInWithEmailAndPasswordcallback中超时不一致
- 有没有办法将不同的徽章计数发送给同一主题的不同用户?
- Firebasepipe理员SDK – DELETE响应不正确
- Firebase的Cloud Functions中将对象从一个节点复制到另一个节点
- 当某个键是特定值时运行firebase云端function
- 使用Node.JS的iOS Firebase Flashlight / ElasticSearch Heroku安装程序
- 从Firebasefunction访问Google Site Verification API
- FCM错误结果 – 将错误提交给令牌