繁体   English   中英

同步调用lambda时,如何向DLQ添加失败信息?

[英]How to add failure messages to DLQ when lambda is invoked synchronously?

我有类似的结构

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 中。
  1. DLQ 不用于存储错误消息,而是用于存储失败的事件,这些事件可以在以后再次处理。
  2. CloudWatch 用于存储和显示 Lambda 和任何其他 AWS 服务的日志(包括错误)。
  3. SQS 触发 Lambda 背后的想法是,如果 Lambda 失败,事件将在稍后由 Lambda 再次处理。
    它与 DLQ 的想法相同,但实现方式不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM