使用 Python 的 Firebase 云函数?
Posted
技术标签:
【中文标题】使用 Python 的 Firebase 云函数?【英文标题】:Firebase cloud functions using Python? 【发布时间】:2019-11-30 14:38:26 【问题描述】:我们正在使用 GCP 的 Firebase 和 Firestore 来开发我们正在开发的新移动应用。作为这项工作的一部分,我们需要部署一些云功能,这些功能将充当 Firestore 触发器以进行一些后端处理。
我们的目的是使用 firebase cli 工具将部署封装在 Firebase 中。但是,当我们尝试使用“firebase init 函数”调用启动 Firebase 项目时,仅有的两个语言选项是“javascript”和“Typescript”,并且唯一可部署的堆栈似乎是 Node.js。
在之前的 GCP 项目中,我们部署了基于 Python 的云函数(使用 gcloud cli),理想情况下,我们希望继续将 Python 用于我们的 Firebase 云函数。所以我的问题是:
是否可以部署基于 Python 的 Firebase 云函数?如果没有:
我们是否可以简单地返回使用 gcloud cli 部署基于 Python 的 GCP 云函数并仍然让它们作为 Firestore 触发器工作?
谢谢
【问题讨论】:
【参考方案1】:Firebase CLI 不支持部署用 python 编写的函数。
您当然可以write Cloud Firestore triggers in python 并使用 gcloud 部署它们。
您可能不知道的一件事:无论您如何部署函数,底层的 Cloud Functions 产品都是相同的。 Firebase 只是在现有的 Google Cloud Functions 基础架构之上添加工具和 API。真的没有“Firebase 云功能”这样的东西。只有 Cloud Functions,您可以选择使用 gcloud 或 Firebase CLI 编写和部署它们。
【讨论】:
感谢 Doug - 我很高兴听到我们可以继续使用 Python 进行部署。感谢您确认 Firebase cli 是 GCP 之上的附加组件。我们也有同样的怀疑,但很高兴得到证实。 有什么方法可以将flutter helper firebase wrappers与部署在python3中的云功能一起使用?我尝试返回 json 数据,但现在我得到“firebase_functions/internal] Response is missing data field”。 所以我刚刚了解到,如果我在我的响应字典中添加一个“数据”键,它就会起作用。因此,如果错误消息包含“数据”一词的引号,我会更清楚。 :-)以上是关于使用 Python 的 Firebase 云函数?的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 云函数 - createCustomToken
使用 Typescript 创建 Firebase 云函数时出现“找不到名称‘ServiceWorkerRegistration’”错误