Firebase Functions模拟器失去与Firestore的连接

时间:2020-05-19 14:15:58

标签: firebase google-cloud-firestore google-cloud-functions

我有一个设置,可以在本地模拟我的Cloud Functions,它们可以访问Firestore数据库。它曾经可以很好地用于开发和测试,但是最近它已失去与Firestore数据库的连接。

我想知道是否还有其他人有此问题或想法,如何解决?

由于我不了解,所以发生了什么变化,以下是我尝试并观察到的一些事情:

  1. 我更新了firebase-tools,firebase-admin和firebase-functions 到最新版本
  2. 我将GOOGLE_APPLICATION_CREDENTIALS存储在 我计算机上的json文件并正在运行firebase emulators:start 启动服务器并正常运行我的功能。
  3. 但是,当函数请求数据库时,它不会引发错误,但是 只需返回空结果集。
  4. 如果我将新文档添加到数据库中 函数,然后在相同的函数中查询集合,我得到 新创建的文档。所以这让我想,我已经降落了 在某种测试模式下?

很抱歉缺少代码,但是我真的不知道从哪里开始这些“曾经有用的”情况...

1 个答案:

答案 0 :(得分:1)

显然是现在

firebase emulators:start 

...将无提示地不再将您连接到真实的Firestore数据库,因为它模拟了Firestore数据库。如果您运行

firebase emulators:start --only functions

.. it根据提供的凭据连接到Firestore。 我不确定何时会引入此行为,但希望这可以帮助其他人也遇到同样的情况。

我正在运行最新版本:

"firebase-admin": "^8.12.1",
"firebase-functions": "^3.6.1"