代码之家  ›  专栏  ›  技术社区  ›  JakeHova

让CloudWatch事件触发SQS发送给Lambda

  •  1
  • JakeHova  · 技术社区  · 2 年前

    我有一个lambda,它根据通过API网关传入的消息的属性发出web请求。当web请求失败时,我会将事件放入队列中,以便稍后处理。

    由于请求失败的原因可能是外部服务关闭,因此我希望重试请求,但不是立即重试。

    我知道我可以让队列成为lambda的触发器,但我不希望它在新消息到达时立即触发。我宁愿让它等待5分钟左右,然后让SQS触发lambda。

    我当前的解决方案有另一个lambda,它由CloudWatch事件触发,从队列中拉出,然后将消息重新发送给发出请求的lambda。我觉得这个解决方案很草率,因为我正在构建一个cloud watch事件和另一个lambda来处理重试。

    SQS是否有办法在时间间隔而不是排队时触发Lambda?有没有更好的方法来处理这个问题?

    1 回复  |  直到 2 年前
        1
  •  0
  •   Marcin    2 年前

    SQS是否有办法在时间间隔而不是排队时触发Lambda?有没有更好的方法来处理这个问题?

    是的,你可以设置 SQS delay queues 延迟至 15分钟 .