我创建了一个服务,该服务应该在创建新用户时激发一些方法。
export class CloudFunctionTriggersWrapper {
constructor(
private cloudFunctionTriggersService: CloudFunctionTriggersService
) {
}
private get logId() {
return `[${this.constructor.name}]`;
}
listen(){
functions.auth.user().onCreate(async (user) => {
console.log(this.logId, `new User created ${user.toJSON()} `)
await this.cloudFunctionTriggersService.onCreateUser(user)
});
}
}
我在NodeJ上本地运行此代码。
当我创建一个新用户(从移动应用Android客户端(时,服务器端没有发生任何事情(触发器没有被触发(
我必须把它部署到firebase才能工作吗?
如果是这样的话,如果我在onCreate内部的方法中更改了什么,我每次更改都必须部署吗?
您想要做的事情是不可能的。Firebase提供的云函数SDK只允许您构建要部署到云函数的函数,以便在谷歌基础设施上运行。它不允许您在自己的硬件上运行自己的触发器。
如果你想在创建用户帐户时运行代码,你必须编写并部署一个auth触发器才能在谷歌的云中运行。
如果要在部署前在本地测试函数,可以使用函数外壳手动模拟将传递给函数的事件。