从Google Function读取Firestore数据

时间:2019-08-15 16:52:54

标签: python firebase google-cloud-platform google-cloud-firestore

我在Firestore中创建了一个数据库,其中包含用户名和类别两个字段。下一步是创建一个使用用户名字符串作为输入的Web请求激活功能,在数据库中为该用户名编制索引并检索类别。

到目前为止,我已经使用Google json身份验证在本地完成了任务,并且工作正常。转到Firestore,读取集合并根据输入的用户名字符串返回用户类别。我还部署了该函数,并通过一个请求进行了测试,它也可以正常工作,激活该函数并从该请求中获取用户名字符串。但是,由于某些未知原因,它没有从Firestore集合中检索数据。即使集合名称错误(它在本地也没有),它也不会返回错误消息,因此我不知道连接是否有问题,或者连接到上一步(也许是身份验证,尽管据我所知)知道同一项目的功能中不需要身份验证。

我将请求和填充部件排除在外,因为它们工作正常。

    if (not len(firebase_admin._apps)):
        cred = credentials.ApplicationDefault()
        app = firebase_admin.initialize_app(cred)  
    store = firestore.Client()
    doc_ref = store.collection(u'output_list2')
    docs = store.collection(u'output_list2').where(u'username', u'==', username).limit(1).stream()
    doc = next(docs)
    response = doc.to_dict()['Category']
    print(response)

此脚本在next(docs)行中引发错误,因为生成器实际上是空的。就是说,查询在集合output_list2处没有输出。我将不胜感激。

谢谢。

0 个答案:

没有答案