Исключение, генерируемое лямбда-функцией, не является ошибкой на стороне клиента. Это происходит из-за неправильной конфигурации, а не исключений в коде функции.
SNS пытается только один раз (и сообщает об УСПЕХЕ).
Это как разработан. SNS успешно передал запрос в службу Lambda для асинхронного вызова вашей функции Lambda с полезной нагрузкой сообщения, опубликованной вами в SNS.
Когда SNS вызывает функцию Lambda, он доставляет этот запрос на сервис Lambda только один раз. SNS будет повторять попытку только в том случае, если ей не удастся связаться со службой Lambda, или запрос не будет авторизован, что произойдет, если перерыв в работе Lambda или SNS или между службами помешал им связаться, или если разрешения не были правильными.
Amazon SNS вызывает вашу функцию асинхронно с событием, которое содержит сообщение и метаданные.
...
Для асинхронного вызова Lambda ставит сообщение в очередь и обрабатывает повторные попытки. Если Amazon SNS не может связаться с Lambda или сообщение отклонено, Amazon SNS повторяет попытки через несколько часов. Подробности см. В разделе «Надежность» в разделе часто задаваемых вопросов Amazon SNS.
https://docs.aws.amazon.com/lambda/latest/dg/with-sns.html
Как только запрос на вызов был передан, SNS больше не участвует в событие.
Служба Lambda повторяет неудачные вызовы.
Несколько AWS служб, таких как Amazon Simple Storage Service (Amazon S3) и Amazon Simple Notification Service ( Amazon SNS), вызывать функции асинхронно для обработки событий. Когда вы вызываете функцию асинхронно, вы не ждете ответа от кода функции. Вы передаете событие Лямбде, а Лямбда обрабатывает все остальное. Вы можете настроить, как Lambda будет обрабатывать ошибки, и отправлять записи вызовов в нисходящий ресурс для объединения компонентов вашего приложения.
https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html
By по умолчанию вы должны увидеть журналы, в которых указано, что Lambda вызвала вашу функцию выброса исключений всего 3 раза, через 1 минуту, а затем через 2 минуты.