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