有哪些方法可以支持 AWS 中的服务器发送事件传输到 Angular 客户端?我们有一个基于微服务的 AWS 后端,使用 API 网关和 lambda。我们想向 Angular 客户端发布实时数据(仅一种方式通信)。我有兴趣了解 AWS 为此提供的解决方案。
到目前为止,我遇到过这个,它似乎使用Websocket API进行双工通信,但不是单向通信以节省成本。
您可以利用 AWS Lambda 新推出的响应流功能来支持服务器发送事件 (SSE) 进行单向通信,与使用 WebSocket API 相比,这有助于降低成本。
有关 Lambda 响应流的 AWS 文档: [https://aws.amazon.com/blogs/compute/introducing-aws-lambda-response-streaming/]
此外,这里有一个 JavaScript 示例项目,演示了如何实现 Lambda 响应流: [https://github.com/aws-samples/serverless-patterns/tree/main/lambda-streaming-ttfb-write-sam]
将其部署在 lambda 中,并确保函数 URL 中的调用模式设置为 RESPONSE_STREAM。调用 get 到函数 URL,内容类型为:text/event-stream。
尚未尝试,但您可以使用 SQS 触发响应流写入。使 lambda 轮询 SQS 并根据消息写入响应流。
通过使用 Lambda 响应流,您可以高效地将实时数据从 AWS 后端发布到 Angular 客户端。