SQS Lambda 集成 - Lambda 不处理队列消息

SQS Lambda Integration - Lambda does not process the queue message

目前我正在使用 SQS - Lambda 集成

Lambda 的并发可用。 SQS批处理设置为1条记录,0延迟。

SQS 的可见性超时为 15 分钟,Lambda 最大执行时间为 15 分钟

我会注意到 有时 SQS 消息卡在传输过程中,根本没有被任何 Lambda 处理(它们属于死信队列在 15 分钟后,CloudWatch 显示没有使用消息调用 Lambda )

有人遇到过同样的问题吗?

我 运行 VPC 内部的 Lambda,如果重要的话

Lambda 后端代表您轮询 SQS,并在返回消息时调用 Lambda 函数。如果调用成功,则消息将被删除,如果函数失败,消息将在可见性超时到期后返回到队列(或 DLQ,具体取决于您的重新驱动策略)。查看此博客 post

检查您是否可以在 Cloudwatch 中看到函数的任何错误指标。您的 Lambda 函数可能会在它有机会 运行 任何代码之前失败。发生这种情况时,会出现错误指标但没有调用 metric/logs,这很可能是由于权限不正确。