0

目前正在使用 lambda 学习 aws 工作流。当 dynamodb 中的布尔值变为真时,我试图触发 302 重定向。我不知道如何使用 lambda 轮询 dynamodb,然后通过 api 网关将重定向发送回客户端。我需要使用 websoket 吗?

4

3 回答 3

2

使用 websocket 从 Lambda 通知客户端将是一个不错的选择。我最近也遇到了同样的情况,我在某​​些客户端机器上显示了通知。API 网关无法使用,因为 API 网关与请求绑定。但在您的情况下,您不会向 Lambda 创建任何请求。您必须阅读 dynamoDB 事件并使用 websocket 通知客户端。

  1. 您可以创建 websocket 连接并将其保存在 dynamoDB 中。
  2. 您必须在 Lambda 中使用 dyanmoDB 事件。检查旗帜。获取 dynamoDB 中所有保存的 websocket 并向它们发送通知。
  3. 请记住更新 dyanmoDB 表,以防任何 websocket 连接被关闭。

为了轮询 dyanmoDB 事件。您可以在您的 lambda 函数中使用 dynamoDB 事件,并根据您的轮询请求中可用的有效负载。您可以发送通知。

于 2019-11-17T07:47:44.500 回答
0

您应该查看 AWS AppSync。它使用比轮询更好的方法内置了此类功能,但无需在 API 网关中实现 Web 套接字。

这是 AppSync 中的订阅页面:https ://docs.aws.amazon.com/appsync/latest/devguide/real-time-data.html

于 2019-11-17T14:07:30.713 回答
0

我还不清楚你的要求。

使用dynamodb 流来触发 lambda 是可能的。Dynamodb 流让您知道文档上的所有事件,例如插入的新文档、更新的文档以及已更新字段的详细信息。

于 2019-11-17T06:28:25.847 回答