已删除Firebase功能中的错误

时间:2017-12-18 14:37:29

标签: firebase firebase-authentication google-cloud-functions

我有一个在创建新用户时运行的功能。在没有被调用一段时间后,该功能通常在第一次调用时失败。我希望有人可以帮我找出导致这种情况的原因。

export const onUserCreate = functions.auth.user().onCreate(event => {

    const user: User = {
        userId: event.data.uid,
        email: event.data.email
    };

    return db.doc(`users/${user.userId}`).set(data);
});

enter image description here

4 个答案:

答案 0 :(得分:0)

因为我使用下面的相同,它运作良好:

exports.onUserCreate = functions.auth.user().onCreate(event => {
   const user = event.data
   console.log(user);
})

答案 1 :(得分:0)

这似乎是Firebase功能的错误,现在是looked into

编辑:

  

大家好,来自Firestore SDK团队的Sebastian。我们相信这一点   问题与GRPC Client SDK的最新更新有关   用GRPC 1.7.1运行测试。到目前为止,我们还没有   使用此旧版GRPC版本重现此问题。

      @ google-cloud / firestore现在为0.10.1。如果你更新你的   依赖关系,你将能够引入这个版本。

     

感谢您的耐心等待。

     

塞巴斯蒂安

答案 2 :(得分:0)

这不是一个永久的答案,因为谷歌似乎正在研究这个问题。

与此同时,虽然我对Google库中的类似错误消息进行了一些研究,但是当您在函数之外初始化Google库时(例如在文件顶部),它看起来偶尔会发生。

我在正在执行的函数中添加了这一行,而不是在全局范围内,它看起来已经停止了错误:

const datastore = require('@google-cloud/datastore')({});

例如,而不是:

const datastore = require('@google-cloud/datastore')({});

module.exports.myFunction = function() {
   datastore.get(key).then()....
}
你做了

module.exports.myFunction = function() {
    const datastore = require('@google-cloud/datastore')({});
   datastore.get(key).then()....
}

这也适用于Firebase库 - 而不仅仅是数据存储库。这不是最佳实践,应该在修复错误后进行更改。

答案 3 :(得分:0)

我有同样的问题。事实证明这是Firestore Node模块中的一个错误。将@ google-cloud / firestore更新为版本0.10.1,它应该可以解决问题。