Google Cloud在python中用于读取Firebase实时数据

时间:2018-08-08 17:38:44

标签: python firebase firebase-realtime-database google-cloud-functions

我正在使用新的Python3.7选项编写一个简单的Google Cloud Function以进行学习,我想将一些数据读/写到Firebase Realtime db。

我找到了一些可以使用Firestore的信息,但是现在我需要使用实时数据库。

# global
import firebase_admin

from firebase_admin import db
# from firebase_admin import firestore

default_app = firebase_admin.initialize_app()

def check_prices_updates(request):
"""Responds to any HTTP request.
Args:
    request (flask.Request): HTTP request object.
Returns:
    The response text or any set of values that can be turned into a
    Response object using
    make_response 
"""

collection = 'pricelist'
mybase = db.reference(collection)

   ....[other code]

return "OK"

这是我的代码的摘录,文档说initialize_app()必须留空以收集项目的默认凭据。

我调用db.reference(collection)的行给我一个例外:

  

ValueError:无效的databaseURL选项:“无”。 databaseURL必须是非空的URL字符串。

,就像配置参数未显示请求的键“ databaseURL”一样。以Firestore为例,在从firebase_admin导入后,我可以调用firestore.client(),在requirements.txt中添加“ google-cloud-firestore”。

现在,对于Firebase,我应该解决在数据库上读写的问题吗?

PS。在我的数据库中,“。read”规则对所有人都适用,因此我对auth没问题!

更新: 睡个好觉之后,我意识到要访问实时数据库,我需要将一些选项传递给initialize_app,如下所示:

firebase_admin.initialize_app(options={'databaseURL': 'https://[PROJECT-NAME].firebaseio.com'})

欢呼

0 个答案:

没有答案