Firebase - 在 NestJS 框架中处理云事件

2024-01-09

我在用着NestJS https://nestjs.com作为我的后端框架和 Firebase。

要在 HTTP 请求上将 Nest 与 Firebase 集成起来很简单,只需将 Nest 的 Express 实例附加到 Firebase 即可:

const server: Express = express();

const bootstrap = async (expressInstance: Express) => {
  const app = await NestFactory.create(AppModule, expressInstance);
  await app.listen(3000);
  await app.init();
};

bootstrap(server);

exports.api = functions.https.onRequest(server);

但是其他 Google 功能(例如 pubsub、firestore、auth 等)呢?

我正在构建一个订阅应用程序,我依赖functions.pubsub每天结束时检查我应该收取哪些订阅费。它需要编写我想用 NestJs 编写的业务逻辑。

我正在尝试实现这样的目标(简而言之):

functions.pubsub
    .topic('topic')
    .onPublish(app.getService(Service).method);

事实证明我非常接近解决方案。代替getService,我不得不使用get,像这样:

const bootstrap = async (expressInstance: Express) => {
  const app = await NestFactory.create(AppModule, expressInstance);
  await app.init();

  return app;
};

const main = bootstrap(server);

export const subscriptions = functions
  .pubsub
  .topic('cron-topic')
  .onPublish((context, message) => main.then(app => {
    return app.get(SubscribeService).initDailyCharges(context, message));
  });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase - 在 NestJS 框架中处理云事件 的相关文章

随机推荐

  • Esc 键的作用类似于 html 中的重置按钮

    我有两个带有重置按钮和提交按钮的文本框 重置按钮工作正常 但是当我在这两个文本框中输入一些内容并按 esc 时 这些值就会消失 事件就像一个重置按钮 我不知道如何控制它 非常感谢您的帮助 谢谢
  • @SuppressLint 和 @TargetApi 哪个更好?

    我的应用程序存在以下问题StrictMode并添加了基本上禁用的代码片段StrictModeHelper 然而 林特抱怨setThreadPolicy 现在并建议添加 SuppressLint NewApi or TargetApi Bui
  • 如何从笔记本中查找jupyter笔记本的版本

    我希望从笔记本的单元格中返回 Jupyter Notebook 的版本 例如 要获取 python 版本 我运行 from platform import python version python version 或者获取 pandas
  • UnicodeDecodeError:“ascii”编解码器无法解码位置 304 中 0xc3 中的字节:序号不在范围内(128)

    我刚刚把电脑留在工作中 使用 Python 2 7 并有一个我刚刚完成的脚本 复制如下 它在工作中运行良好 我只想添加一两件事 但我回到家并使用 Mac 版本的 Python 3 2 2 并收到以下错误 Traceback most rec
  • 向 xcode 4 项目添加一个简单的库

    我知道这是一个非常简单的问题 但我已经为此苦苦挣扎了一段时间 我已经阅读了一些主题 但似乎仍然可以找到答案 我正在尝试添加这个DDMath解析器 https github com davedelong DDMathParser库到我现有的项
  • 有没有生成 3D 云的算法?

    所以我很想看到一种生成 3D 云对象的算法 尽可能现实 我知道有不同的云类型 https web archive org web 20130220071237 http www srh weather gov srh jetstream s
  • WPF 中的图像更新时发生 TargetInitationException

    我构建了一个显示图像的 WPF 控件 现在我想以非常快的速度改变这个形象 我构建了一个 ImageContainer 类 它保存图像并有一个 ChangedEventHandler 它在更改时更新我的 控件中的图像 执行的代码如下所示 vi
  • 接口的 XML 序列化

    我需要序列化项目中的复杂对象并将它们放入数据库中 我想使用 XML 序列化它们 以便更轻松地调试我的应用程序 我的情况与这篇文章中描述的非常相似 http geekswithblogs net SoftwareDoneRight archi
  • 将字典转换为带有属性的 XML

    我在 python 中使用 dicttoxml 将 dict 转换为 XML 我需要将 dict 转换为 XML 属性 例如 dict name Ravi age 21 college Anna University 输出 XML
  • 使用 webpacker 从 Rails 控制器渲染 js

    只是将我的 Rails 应用程序中的 js 管道替换为webpacker 大多数事情都可以正常工作 但是渲染 js 的控制器不再按预期工作 def action format js render javascript partial end
  • 将 null 与对象进行比较而不是将对象与 null 进行比较有什么问题

    我刚刚发现我可以比较null与Object像这样 if null Object 而不是比较Object with null like Object null 如果使用前一种方法可能会出现什么问题 那合法吗 如果不是那么为什么编译器接受它 它
  • 解析注册失败无论如何都会添加用户

    我正在使用 Java Parse 框架 并且有一个简单的页面 该页面调用使用电子邮件 用户名和密码注册用户的方法 如果所有输入正确 用户注册就不会出现问题 但是 即使用户注册过程失败 我也可以在其网站的 Parse 数据浏览器中看到用户已添
  • UITableView的动态高度

    如何通过约束获取 UITableView 的动态高度 它将根据行数增加 UITableView 高度 而无需在表中添加滚动条 我在 UIViewController 中添加 TableView 时遇到问题 并且 TableView 的高度不
  • 单击浏览器上的后退按钮时丢失表单数据[重复]

    这个问题在这里已经有答案了 当我单击任何浏览器时 我会丢失在下拉列表和文本输入类型的表单中输入的所有数据 这是服务器 浏览器还是编码问题 Thanks 这是浏览器问题 单击后退按钮时浏览器的行为有所不同 这种行为主要取决于用户的隐私设置 此
  • 在 Ubuntu 上使用 shell 脚本附加到 crontab

    我正在尝试在 Ubuntu 上的 crontab 中添加一行 现在 我正在做crontab e并在那里编辑 crontab 但是 我似乎找不到真正的 crontab 文件 因为crontab e似乎给你一个临时的工作副本 etc cront
  • 默认 Maven 插件版本是如何决定的?

    我想知道我何时没有在某些模块中指定插件版本pom xml像
  • Spring计划任务:监控执行持续时间

    我们在 Spring Web 应用程序中使用计划任务来发送提醒 每日摘要等
  • 将制表符分隔的文本文件读取到 Pandas 数据框中时出现 RunTimeError

    我正在将一个制表符分隔的文本文件读入 pandas 数据帧 在阅读本文时 我遇到了运行时错误 我已经浏览了与此错误相关的帖子 所有这些帖子都暗示了在迭代时不应修改字典的规则他们 就我而言 我所做的就是读取文件 这个问题如何与迭代和更改 di
  • 公共本机移动应用程序中的 WSO2 Api Manager OAuth2 DCR 安全性

    我正在为 iOS 和 Android 设计一个公共本机移动应用程序的安全性 该应用程序使用 WSO2 Api Manager APIM 使用公开可用的 API 因此 我了解与此设置相关的安全问题 并且我想将 OAuth2 应用于本机应用程序
  • Firebase - 在 NestJS 框架中处理云事件

    我在用着NestJS https nestjs com作为我的后端框架和 Firebase 要在 HTTP 请求上将 Nest 与 Firebase 集成起来很简单 只需将 Nest 的 Express 实例附加到 Firebase 即可