我正在研究一个当前为100%Firebase的项目。理想情况下,鉴于我已经完全使用Firebase,所以我想留在Firebase进行下一个任务,该任务是每天一次基于外部API调用更新某些记录。
我目前正在将Firebase函数用于触发事件,而不是将其用于API调用,函数中发生的一切都是在用户执行某项操作之后,并且不响应任何客户端(仅响应数据库)进行更新)。
Firestore Cloud Functions是运行类似这样的东西(可以调用外部API,然后根据需要进行更新)的好地方吗?我看到需要Blaze计划的计划功能,已经考虑过了,但是不确定是否有另一种方法可以更好地完成此任务。
答案 0 :(得分:1)
在Firestore事件上触发的Cloud Function可能不是您想要的。仅当Cloud Firestore数据库中的某些内容发生更改时,Firestore才会触发火灾。这意味着您需要将一些内容写入数据库中的某些文档才能运行代码。这意味着您需要一种计划该操作的方法。
无论您编写哪种触发器,您都必须遵守计费计划,才能提出外部请求。因此,即使您设法以某种方式设法组合了使用Firestore触发器的解决方案,您的项目仍将需要列入结算计划。
答案 1 :(得分:0)
这种方法完全可以-实际上,我在项目中使用的是完全相同的方法,该项目具有100%Firebase后端。整体(Firebase)云功能在调用方面提供了灵活性,即可以基于触发器(例如存储或数据库事件)来调用它们,也可以使用HTTP端点来调用它们。因此,根据您的需要,您可以使用Firestore触发器或数据库触发器,也可以调用端点。
切换到Blaze计划非常好,因为否则我们无法调用外部端点。几个月前,我改用了Blaze计划,因为我的用量在免费限额内,所以我没有为此付费。