我有以下问题,我每分钟都会向firebase发送数据 在nodejs中运行的cron选项卡中的数据库,我只在有更改时发送信息,但是当没有更改时数据库继续接收信息,这是我的代码
let admin = require('firebase-admin');
let prev_res = {};
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: 'mydburl'
});
cron.schedule('* * * * *', function(){
let connection = mysql.createConnection({
host : 'myhost',
user : 'myuser',
password : 'mypass',
database : 'mydb'
});
connection.query("MY QUERY", function(err, rows, fields){
if (!err){
if(JSON.stringify(rows) != JSON.stringify(prev_res)){
let db = admin.database();
let ref = db.ref('path');
ref.set(rows);
console.log("Updated data");
} else {
console.log("without changes");
}
prev_res = rows;
}
});
});
firebase管理员是否有某种缓存或类似的东西?
答案 0 :(得分:1)
这实际上是Firebase身份验证的一个奇怪问题。 问题在于您在凭据中包含的用户的权限。 除了使用正确的权限创建服务帐户外,您还需要使用编辑器角色将此用户添加到 IAM帐户。
执行此操作后重新启动应用程序,您应该停止查看:
“FIREBASE警告:提供的身份验证凭据无效。 这通常表示您的FirebaseApp实例未初始化 正确“。