我已经在AWS Lambda配置中设置了死信队列,以处理失败的事件。但是,当我尝试发送错误的记录(大小约为1KB)时,它没有发送到DLQ。
以下是我遵循的步骤:-
从aws cli发送无效记录到运动学流。
Lambda函数从流中轮询记录并尝试处理。由于输入格式错误,导致失败。
AWS Lambda中用于异步调用的配置:
DLQ的配置:
有人可以解释SQS中没有错误消息的可能原因是什么?
注意:Lambda具有在SQS上执行所有操作所需的权限。而且没有其他SQS使用者。
这全部取决于您从函数返回的响应。如果响应是带有正确错误代码的失败,则肯定会在DLQ中推送。您可以删除DLQ配置,然后检查可见性时间之后消息是否出现在SQS中。
Lambda从Kinesis synchronously读取数据。DLQ仅用于Lambda的asynchronous调用。