失败的事件没有发送到死信队列?

use*_*887 2 amazon-sqs amazon-web-services amazon-kinesis aws-lambda

我在 AWS Lambda 配置中设置了一个死信队列来处理失败的事件。但是当我尝试发送错误记录(大小约为 1KB)时,它没有被发送到 DLQ。

以下是我遵循的步骤:-

  1. 将无效记录从 aws cli 发送到 kinesis 流。

  2. Lambda 函数从流中轮询记录并尝试处理。并且由于格式错误的输入而导致失败。

  3. 检查 Lambda 函数云监视日志以确认处理已导致错误。
  4. 在 Lambda 的云监视日志中检查了死信错误数,但它仍然是 0。还通过 AWS 控制台验证了 DLQ,其中可用消息仍然是 0。

AWS Lambda 中用于异步调用的配置:

  • 事件的最大时长 = 1 分钟,
  • 重试尝试 = 1

DLQ的配置:

  • 传送延迟:0 秒
  • 默认可见性超时:30 秒,
  • 最大消息大小:256 KB

有人能解释一下 SQS 中不可用的错误消息的可能原因是什么吗?

注意:Lambda 具有在 SQS 上执行所有操作所需的权限。并且没有其他 SQS 消费者。

nic*_*tev 5

Lambda 从 Kinesis同步读取数据。
DLQ 仅用于Lambda 的异步调用。