首页 > 解决方案 > 如何使用 ClientProxy 连接到在 AWS 上运行的 NestJS 微服务?

问题描述

鉴于我有一个NestJS 微服务(使用创建NestFactory.createMicroservice),通过无服务器框架在 AWS 中部署为 Lambda + API 网关。如何使用 ClientProxy 类从我的 NestJS HTTP Api 连接到它?

我已经使用 Websocket King 成功连接到它,所以我知道它可以工作,但是我看不到 NestJS Client Proxy的 WSS Transport 选项。

我试过直接使用 Transport.TCP 到 API 网关,但我得到一个 NOT FOUND 异常,例如:

ClientsModule.register([
  {
    name: dataApiClientToken,
    transport: Transport.TCP,
    options: {
      host: 'xxx.execute-api.eu-west-2.amazonaws.com/dev',
      port: 80
    }
  },
])

为了提供一些背景信息,我的架构计划是拥有一个专门用于由 NestJS HTTP API 调用的数据库操作(TypeORM 等)的微服务。我认为它可以与 ClientProxy 一起使用?如果这个假设是错误的,我应该改用Websocket Gateway吗?

标签: amazon-web-servicesaws-lambdamicroservicesnestjsserverless-framework

解决方案


推荐阅读