【问题标题】:How to call a Python function from Firebase Functions如何从 Firebase 函数调用 Python 函数
【发布时间】:2019-05-14 00:12:57
【问题描述】:

您好,我有一个需要严格写入验证的 Firebase 项目。我们当前的管道是用户将他们的数据写入“Users/uid/submits/sid”。这会触发 Functions oncreate 函数,该函数通过验证脚本运行数据,然后在批准后删除数据,并将验证数据写入“事件/提交”中。此管道在简单的测试用例中非常有效。

当我们的验证脚本增长到几千行 python 时,问题就出现了。我们尝试将其翻译成 javascript(因为 Functions 只接受 javascript/typescript)但惨遭失败。我们遇到了一个又一个错误,几个小时后得出结论,翻译成 javascript 不是一种选择。我想指出,是的,如果有更多的时间,翻译可能会成功,但这只是 20 个不同用例的 1/20 验证脚本,我们不能每次都经历翻译马拉松,它是我们发展的指数时间。

我们已经进行了一些研究,并认为 Google Cloud Platform(确实运行 python)是最接近解决方案的东西,除了在他们的 docs 他们说要与 Firebase 集成以简单地使用 Firebase 的功能(我们可以不做讨论)。所以对我们来说,最可行的解决方案是如何连接 Firebase 的 Function(可以由 Firestore 触发)以连接到 Google Cloud Platform。如果有人有办法做到这一点,我会很高兴地重命名/编辑这个问题以相应地适应,但我已经这样离开了,以防有人知道不涉及 GCP 的解决方案。提前致谢

【问题讨论】:

    标签: firebase google-cloud-platform


    【解决方案1】:

    我认为您误解了该页面的文档。 Firebase 并没有真正的“自己的”功能。实际上没有“Firebase 函数”之类的东西。只有一种产品 - Cloud Functions。 Firebase 只是在其上添加更易于使用的工具,通常针对移动开发人员。其他工具和 API 统称为“Cloud Functions for Firebase”。相同的 Cloud Functions 产品仍然是核心。您无法避免 GCP,但您可以选择使用 Firebase 工具(如果它们满足您的需求)。我建议你阅读我的blog series about the relationship between Firebase and Google Cloud 了解更多信息,尤其是两者之间关于what's different with Cloud Functions 的文章。

    如果您想在 python 中编写 Cloud Functions 代码,您可以使用 GCP 工具。这些函数的触发方式与您使用 JavaScript 编写并使用 Firebase CLI 部署它们的方式完全相同。

    【讨论】:

    • 你是 100% 正确的,我误解了它们是两个独立的产品,而实际上它们是相同的。博文很有帮助,谢谢!
    猜你喜欢
    • 2021-02-10
    • 2019-01-18
    • 2020-04-27
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    相关资源
    最近更新 更多