我正在通过 Python 选项为 Firebase 编写云函数。我对 Firebase 实时数据库触发器感兴趣;换句话说,我愿意收听实时数据库中发生的事件。
Python 环境提供以下签名来处理实时数据库触发器:
def handleEvent(data, context):
# Triggered by a change to a Firebase RTDB reference.
# Args:
# data (dict): The event payload.
# context (google.cloud.functions.Context): Metadata for the event.
这看起来不错。该data参数提供了2个字典; 'data'用于通知更改前的数据和'delta'更改的位。
将此签名与Node.js环境进行比较时,就会产生混淆。这是来自Node.js世界的类似签名:
exports.handleEvent = functions.database.ref('/path/{objectId}/').onWrite((change, context) => {}
在这个签名中,change参数非常强大,它似乎是类型firebase.database.DataSnapshot。它有很好的辅助方法,例如hasChild()或numChildren()提供有关已更改对象的信息。
问题是:Python环境有没有类似的DataSnapshot对象?使用 Python,我是否必须查询数据库以获取例如孩子的数量?Python 环境能做什么和不能做什么真的不清楚。
相关 API/参考/文档:
Firebase 实时数据库触发器:https ://cloud.google.com/functions/docs/calling/realtime-database
数据快照参考:https : //firebase.google.com/docs/reference/js/firebase.database.DataSnapshot
当年话下
相关分类