实时事件监听 firebase_admin firestore 可能吗?

is realtime event listening for firebase_admin firestore possible?

我正在为我的 Flask 应用程序使用 python firebase admin sdk。 是否可以收听集合的实时事件(如添加文档)?

一些文档表明这是可能的,但其他文档和我自己的测试表明情况并非如此。

详情

CollectionReference 的文档表明 on_snapshot 可用于在集合上注册事件侦听器。

然而,这个firestore tutorial是在说"Note: Realtime listeners are not supported in Python and PHP."。所以有两个相互矛盾的来源 此外,在我自己的测试中,我发现 on_snapshot 不是 CollectionReference 的属性,这表明此功能是不可能的。

能否确认 python firestore admin sdk 中的实时监听是否可行?

相关代码:

on_snapshot 的文档说这段代码应该有效

from google.cloud import firestore
db = firestore.Client()
collection_ref = db.collection(u'users')
def on_snapshot(collection_snapshot):
    for doc in collection_snapshot.documents:
        print(u'{} => {}'.format(doc.id, doc.to_dict()))
 collection_watch = collection_ref.on_snapshot(on_snapshot)

但是它给我一个错误 AttributeError: 'CollectionReference' object has no attribute 'on_snapshot'

这还没有发布。最后一个版本是从 2018 年 10 月开始的,on_snapshot 方法已在 11 月的 PR 中添加:https://github.com/googleapis/google-cloud-python/pull/6191

我认为 API 引用是从 GitHub master 分支自动生成的,这就是它出现在那里的原因。