У меня есть структура, подобная этой
SQS -> Lambda -> DLQ
Когда Lambda вызывается асинхронно, как показано ниже, сообщения об ошибках успешно добавляются в DLQ.
$ aws lambda invoke --function-name my-function --invocation-type Event --payload '{ "key": "value" }' response.json
Но когда лямбда запускается при добавлении новых сообщений в SQS, а затем при сбое, сообщения не сохраняются в DLQ.
Я обнаружил, что события запускаются, когда Новое сообщение, опубликованное в SQS, является синхронным по своей природе.
Лямбда опрашивает очередь и синхронно вызывает вашу функцию с событием, содержащим сообщения очереди.
Ссылка - https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html.
Итак, я хочу, чтобы либо -
- SQS триггер вызывал лямбду асинхронно
или
Сообщения также сохраняются в DLQ при синхронном вызове Lambda.