Fra*_*ñiz 8 javascript firebase google-cloud-functions google-cloud-firestore
在我们的应用程序中,我们不断使用可调用函数,有时冷启动可能会让人头疼,因为我们仍在开发它并且除了我们之外没有用户使用它们。
我们认为加快这个过程的方法是在打开应用程序、登录之前调用每个函数(它们不多,目前大约有 20 个,我们的账单不会到月球),然后返回一个null 值而不执行其中的任何其他代码。这将热加载它们以便在接下来的几分钟内使用,避免冷启动并允许我们快速轻松地测试我们的前端+后端代码。
但是,我们有一些触发函数,例如在创建后添加用户详细信息,它们确实具有冷启动功能,但无法调用,因此我们无法“热加载它们”。
有没有办法真正触发这些函数并通过参数向它们发送数据?或者说对于这种情况还有其他的处理方法吗?
不基于 HTTP 的触发器称为“后台触发器”。Firebase 工具不提供以编程方式触发部署到 Cloud Functions 的后台函数的方法,而无需实际执行触发该函数的操作。没有像使用本地模拟器时那样直接调用。
如果您愿意采用 Google Cloud 工具,您可以使用 gcloud 命令行或 Google Cloud 控制台直接触发功能。
我发现一些有关直接触发器的文档至少与我使用Google Cloud 函数控制台的经验相匹配,其中可以手动触发函数。还有一个有趣的命令行示例,看起来可以向函数提供数据。请注意他们关于配额、开发与生产的说法,尽管我注意到您的问题是关于开发的。
为了支持快速迭代和调试,Cloud Functions 在命令行界面中提供了调用命令,并在 GCP Console UI 中提供了测试功能。这允许您直接调用函数以确保其按预期运行。这会导致该函数立即执行,即使它可能已被部署来响应特定事件。
注意:直接触发器使用调用 API。此 API 的配额有限,无法增加。它用于测试和调试,不应在生产中使用。
...
gcloud functions call YOUR_FUNCTION_NAME --data '{"name":"Keyboard Cat"}'
| 归档时间: |
|
| 查看次数: |
5880 次 |
| 最近记录: |