问题描述
我正在构建一个Swift应用程序,该应用程序基于URL作为主键从MongoDB中提取数据。如果该URL尚未在集合中,那么我想触发Google Cloud Function去检查该URL并将其添加到数据库中。
在查看Cloud Function触发选项时,我没有看到一种简单的方法来监视它对MongoDB的写入(计划是要有一个新的URL表,它将通过Cloud Function运行)。
我看到了PubSub和Firebase触发器,并且PubSub似乎是最好的选择,但是我找不到从iOS发布消息到PubSub的大量信息(尽管有很多订阅)
我确实看到了很多有关FireBase的iOS文档。我想知道是否最好写入Firebase并以此触发,因此该应用程序的每个用户在输入无法识别的URL时,该应用程序都会将该URL写入Firebase,这将触发云功能。还是应该弄清楚如何让iOS应用将消息发布到PubSub主题?目前,我不需要超快速的响应,因为系统预计将需要一些时间来处理新的URL。
解决方法
您可能会更好地编写Firebase并让Firebase触发您的Cloud Function。不幸的是,Swift中没有官方支持的Cloud Pub / Sub客户端。
,通过iOS应用触发Google云功能的最佳方法
从您的问题标题和正文来看,最好的方法是从您的应用中调用Callable Cloud Function。
如文档中所述:
用于Firebase客户端SDK的Cloud Functions让您调用函数 直接从Firebase应用程序。要在此从您的应用程序调用函数 在Cloud Functions中编写和部署HTTPS Callable函数的方式, 然后添加客户端逻辑以从您的应用中调用该函数。
有关如何编写Cloud Function以及如何从iOS应用调用它的所有详细信息,请参见上述文档。