在我的应用程序中,我有两种创建用户的方法。一个是单数add,它触发云函数onCreate来发送电子邮件并执行一些其他逻辑。另一种方法是批处理,最终为每个添加的文档触发相同的函数。
问题是,当用户被批量添加时,我如何触发不同的功能?
我查看了firebase文档,它似乎没有这个特性。我错了吗?
这将大大有助于减少阅读次数,我可以批量发送电子邮件给添加的用户,而不是逐个发送。
用于创建文档的Cloud函数的触发器只有一个。
你能做的是用相同的触发器和incode区分两个不同的函数创建方法。
可以是在文档中添加两个值:
- creation_method 批
使用创建方法,您可以在每个文档上计算其值,以验证是否继续执行或在该点完成。
batch可以在创建的批中使用,以标识整个批。
对于creation_method
,我推荐以下不同的值:
- 的
- batch_normal
- batch_final
on Batch只是有一个batchID
对于创建奇异的函数,验证它是奇异的,就是它。
对于批处理函数,使它只继续在batch_final状态,并获得具有相同batchId的所有值。
这种方法不会减少读取,因为读取是为每次读取文档计费的,所以除非您依赖于其他文档,否则读取次数将是相同的。
作为一种解决方法,如果你想减少每次读取的费用,你可以更改为Realtime Database,你提到的触发器也存在,它的优点是它不为读取收费。