Лямбда-повторы основаны на многих факторах.Я предлагаю вам взглянуть на официальные документы , чтобы понять каждый тип повторов, но вкратце:
- Потоковые синхронные источники событий могут повторяться или не повторяться.Это зависит от службы .
- Асинхронные источники событий будут повторяться до трех раз.Если все сообщения терпят неудачу, вы можете настроить DLQ для приема сообщений с ошибками
- (источники событий на основе потоков и на основе опросов) (например, Kinesis или Dynamo) будут повторять попытки до тех пор, пока не будет настроено сохранение данных.Будьте осторожны, потому что, если одно сообщение терпит неудачу и само сообщение является ядовитым, оно будет повторять попытки до истечения срока его действия, и новые сообщения не будут обрабатываться
- (не на основе потока && на основе опросаИсточники событий) (SQS) будут отбрасывать сообщения в случае сбоя (если это не был сбой вызова или тайм-аут).В случае отклонения они будут отправлены в DLQ, если вы предварительно настроили один из них.
Итак, основываясь на приведенной выше информации, мы можем затем ответить на ваш вопрос с помощью уведомлений: вы можете иметь другую Lambda, подписанную на вашDLQ для получения сообщения и уведомления, как вы хотите.Либо отправив электронное письмо от самой функции, либо отправив его в SNS (возможно, чтобы отправить электронное письмо напрямую или сделать с ним что угодно).
Для количества повторных попыток это не настраивается дляуже встроенные значения.Самое большее, что вы можете сделать - это синхронно вызвать функцию Lambda из вашего кода и, в случае исключения, повторить ее по своему желанию (экспоненциальный откат, если необходимо, также необходимо будет кодировать вручную)