【问题标题】:Is there a way to create a CloudWatch event after n inserts in database有没有办法在数据库中插入 n 后创建 CloudWatch 事件
【发布时间】:2022-08-14 16:11:36
【问题描述】:

我目前有许多 lambda 函数调用,当消息存在于 SQS 队列中时会调用这些函数。这些 lambda 函数将数据插入数据库。在处理完所有消息后,我需要一种方法来触发 lambda 函数。我的想法是在数据库中发生所有 n 个插入操作之后创建一个 Cloudwatch 事件,但我找不到表明这是可能的文档。这是解决这个问题的好方法吗?是否可以在数据库表上发生 N 次插入后创建 Cloudwatch 事件?

  • 我的回答对你有用吗?

标签: amazon-web-services aws-lambda amazon-sqs amazon-cloudwatch


【解决方案1】:

您可以通过以下步骤解决此问题:

  1. ApproximateNumberOfMessagesVisible 指标等于零时创建 Cloudwatch 警报(意味着 SQS 队列为空)
  2. 配置 Cloudwatch 警报以向 SNS 主题发送消息
  3. 配置 lambda 函数以订阅 SNS 主题

    请注意,标准队列的指标是“近似的”;如果你想要准确,你需要一个 FIFO 队列。来自documentation

    对于标准队列,由于 Amazon SQS 的分布式架构,结果是近似的。在大多数情况下,计数应该接近队列中的实际消息数。 对于 FIFO 队列,结果是准确的。

    但是,您应该能够通过将警报的采样周期配置为足够长来缓解这种情况。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-06
    • 2020-05-02
    • 2020-03-25
    • 2020-12-04
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多