Mat*_*gna 2 triggers amazon-web-services amazon-dynamodb aws-lambda
我必须在 AWS 流程上设置管理。为简单起见,我有一些客户端向我发送心跳,假设每 5 分钟一次,通过 SOAP 请求发送到部署在 Elastic Beanstalk NodeJS 应用程序上的 SOAP 服务器。每次收到心跳时,我都会通过更新表上的字段将上次收到的心跳存储在 DynamoDB 表中。
我现在需要创建一个进程,如果我在过去 30 分钟内没有收到心跳,则执行某些操作(更新另一个表、调用 Lambda 函数等)。我现在不知道我将拥有多少个客户端,但它们会随着时间的推移而自然增长,并 24/7 全天候连接到我的服务器。
我希望在表中的特定行未更新的 30 分钟后触发 Lambda 函数(或在 SNS 主题上发布消息)之类的事件,但我不知道如何获得最后一部分上班。此事件应该检查文档中的每一行。
你会怎么做?
谢谢!
为此,您可以将 DynamoDB 与 TTL、DynamoDB Streams 和 AWS Lambda 结合使用。不需要cron
。
当您创建新行或更新现有行时,将该行的 TTL 设置为未来 30 分钟。
当达到 30 分钟时,它将启动一个 DynamoDB 流,您可以将其用作 Lambda 函数的触发器。
然后,此 Lambda 函数可以执行您想要执行的自定义处理(即更新另一个表、调用 Lambda 函数等)。
请注意,原始 DynamoDB 行将在其 TTL 到期时被删除。如果您需要保留该记录,您可以让 Lambda 函数重新创建它,并在未来将新的 TTL 设置为另一个 30 分钟。
参考:
归档时间: |
|
查看次数: |
5641 次 |
最近记录: |