我有一个在创建新用户时运行的功能。在没有被调用一段时间后,该功能通常在第一次调用时失败。我希望有人可以帮我找出导致这种情况的原因。
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);
});
答案 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,它应该可以解决问题。