实时事件监听 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 分支自动生成的,这就是它出现在那里的原因。
我正在为我的 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 分支自动生成的,这就是它出现在那里的原因。