在我的应用程序中,我有两种创建用户的方式。一个是单数add,它触发云函数onCreate发送电子邮件并执行其他一些逻辑。另一种是按批处理,最终为每个添加的文档触发相同的函数。
问题是当批量添加用户时,如何触发不同的函数?
我查阅了firebase文档,它似乎没有这个功能。我说错了吗?
这将大大减少阅读量,我可以批量发送电子邮件给添加的用户,而不是一个接一个地发送。
发布于 2021-03-09 04:48:30
创建文档的Cloud functions上的触发器只有一个。
您可以做的是让两个不同的函数使用相同的触发器和编码来区分这两种创建方法。
这可能类似于向文档中再添加两个值:
使用creation方法,您可以在每个文档上计算它的值,以验证执行是继续还是在该点结束。
可以在创建的批次中使用batch来标识整个批次。
对于creation_method,我建议使用以下不同的值:
关于只有一个batchID的批处理
对于用于创建单数的函数,验证它是单数的,就是这样。
对于批处理函数,使其仅在batch_final状态下继续,并获取具有相同batchId的所有值。
这种方法不会在reads are billed for each document读取时减少读取,因此,除非您依赖于其他文档,否则读取的次数将是相同的。
作为一种变通方法,如果您想减少每次读取的费用,您可以将您提到的触发器更改为Realtime Database,也可以更改为exist,而且它的优点是不会为读取收费。
https://stackoverflow.com/questions/66293106
复制相似问题