Firebase 模拟器:在函数中使用 PubSub

Posted

技术标签:

【中文标题】Firebase 模拟器:在函数中使用 PubSub【英文标题】:Firebase Emulator: using PubSub in Functions 【发布时间】:2020-10-30 10:16:47 【问题描述】:

我正在尝试通过模拟器在本地运行我的 Firebase 功能。我已经构建了一个体系结构,其中 PubSub 事件调用进程链。当试图调用这些事件时,模拟器日志给了我这个:

Sorry, we cannot connect to Cloud Services without a project ID. You may specify one with an environment variable named "GOOGLE_CLOUD_PROJECT".

我正在使用--project projectID 运行模拟器。我也在像这样构建我的 PubSub 事件:

const pubsub = new PubSub( projectId: getRealtimeDatabase().app.options.projectId )

我正在使用包"@google-cloud/pubsub": "^0.22.2",并且我正在导入像import PubSub from '@google-cloud/pubsub';这样的PubSub

我必须做什么才能让 PubSub 调用新事件?谢谢!

【问题讨论】:

【参考方案1】:

原来getRealtimeDatabase().app.options.projectId 是未定义的。我在别处检索了我的 projectId。使用正确的 projectId,上面的代码可以工作。

【讨论】:

以上是关于Firebase 模拟器:在函数中使用 PubSub的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pubsub 模拟器在本地调用 firebase Schedule 函数

如何使用 pubsub 模拟器在本地调用 firebase Schedule 函数

Firebase 函数不会看到 pubsub 模拟器在本地运行

如何在 https 而不是 http 上运行 firebase(函数)模拟器?

如何在 Firebase Cloud Functions 中模拟辅助函数?

firebase 函数模拟器 useFunctionsEmulator() 方法不起作用