【问题标题】:How to add failure messages to DLQ when lambda is invoked synchronously?同步调用 lambda 时如何向 DLQ 添加失败消息?
【发布时间】:2020-05-09 00:24:19
【问题描述】:

我有类似的结构

SQS -> Lambda -> DLQ

当像下面这样异步调用 Lambda 时,失败消息会成功添加到 DLQ。

$ aws lambda invoke --function-name my-function --invocation-type Event --payload '{ "key": "value" }' response.json

但是当 lambda 在向 SQS 添加新消息然后失败时触发时,消息不会存储在 DLQ 中。

我发现新消息发布到 SQS 时触发的事件本质上是同步的。

Lambda 轮询队列并使用 包含队列消息的事件。

参考 - https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html

所以我想要一个-

  1. SQS 事件触发器异步调用 lambda

  1. 在同步调用 Lambda 时,消息也会存储在 DLQ 中。

【问题讨论】:

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


【解决方案1】:
  1. DLQ 不用于存储错误消息,而是用于存储失败的事件,以后可以再次处理。
  2. CloudWatch 用于存储和显示 Lambda 和任何其他 AWS 服务的日志(包括错误)。
  3. SQS 触发 Lambda 背后的想法是,如果 Lambda 失败,稍后将由 Lambda 再次处理该事件。
    它与 DLQ 的想法相同,但实现方式不同。

【讨论】:

    猜你喜欢
    • 2019-01-24
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    相关资源
    最近更新 更多