[英]Why do I get "Client is not yet ready to issue requests" - Firestore get() fails when called by Schedule function
在我的 Firebase 项目中,我有一个 functions.pubsub.schedule().onRun() 每 5 分钟运行一次以执行一些与日历相关的任务。 它需要在我的 Firestore collections 中查找,并使用 a.get() 查询进行查找。 这一直运行良好,直到 2020 年 3 月 13 日早上 function 开始抛出
2020-03-13 09:36:02.326 CET scheduledHooks 1042277797598294
Error: INTERNAL ERROR: Client is not yet ready to issue requests.
at Firestore.get projectId [as projectId] (/srv/functions/node_modules/@google-cloud/firestore/build/src/index.js:401:19)
at Query.toProto (/srv/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1556:42) at Query._get (/srv/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1466:30)
at Query.get (/srv/functions/node_modules/@google-cloud/firestore/build/src/reference.js:1457:21)
at FirebaseActivitiesCollection.<anonymous> (/srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:32:40)
at Generator.next (<anonymous>) at /srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:8:71
at new Promise (<anonymous>) at __awaiter (/srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:4:12)
at FirebaseActivitiesCollection.getActivitiesByInterval (/srv/functions/lib/collections/activities/FirebaseActivitiesCollection.js:27:16)
我无法跟踪我已经更改了任何内容,是否是 Firebase 进行了一些我应该注意的更改,或者我在此错误消息中遗漏了明显的线索?
我的其他云功能和 Firebase JavaScript SDK 仍然可以正常工作。
额外信息:相同的代码适用于我尚未部署的其他环境。 这当然导致我搜索已部署代码中的更改,但我找不到任何?
错误似乎是项目未正确连接和初始化。 根据此处的官方 API, 在以下情况下会发生此错误:
返回此 Firestore 实例的项目 ID。 验证之前调用了
initializeIfNeeded()
。
我建议你检查一下。 如果您仍然遇到问题,我会建议您联系Firebase 免费支持。 既然你提到它一直工作到昨天早上,那么他们这边可能会有一些变化。
希望这可以帮助!
结果证明这是一个非常简单的 Firebase 初始化问题:
在我之前:
// Initialize firebase
admin.initializeApp(functions.config().firebase)
..它运行良好,直到不再运行。
我现在有:
// Initialize firebase
admin.initializeApp()
......它再次起作用
在运行一些涉及 firebase 的笑话测试时遇到了同样的错误。 问题是我没有设置GOOGLE_APPLICATION_CREDENTIALS
环境变量。
因为我是在我的机器上本地运行它们,所以在运行测试之前在终端中导出这个变量就足够了:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials/file.json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.