Количество попыток в AWS лямбда - PullRequest
2 голосов
/ 03 апреля 2020

При настройке AWS Настройки лямбды у нас есть счетчик повторов 2 (макс.) По умолчанию.

enter image description here

Но когда я я добавляю DynamoDB Trigger к нему, есть опция повтора 10000

enter image description here

Так что настройки верны. Если возникнет исключение, повтор будет 10000 раз или 2 раза. Может кто-нибудь, пожалуйста, направьте меня. Спасибо!

Ответы [ 2 ]

1 голос
/ 04 апреля 2020

Итак, какие настройки верны. Если произойдет исключение, повтор будет повторяться 10 000 раз или 2 раза.

Обе попытки имеют различное назначение и значение.

  1. Лямбда-повторы означают, что ваша лямбда-функция была запущена и во время события обработки произошла ошибка, поэтому он попытается еще раз обработать то же событие.

enter image description here

При этом ваша лямбда-функция еще не сработала, так как произошла ошибка при извлечении потока из источника события.

enter image description here

Лямбда читает элементы из источника события и запускает функцию.

это исключение не в контексте функции. как только он извлекает событие из потока, он запускает лямбду с желаемым событием потока.

Вы можете посмотреть на диаграмме ниже для изображения платы, которое является тем же примером с потоком кинезиса enter image description here

Подробнее об этом можно прочитать ниже

invocation-asyn c

create-event -source-mapping

Retry-your-lambda-event-retries

lambda-with-ddb-stream

1 голос
/ 04 апреля 2020

То, что вы описываете, это две разные вещи.

Первый (повторы 2) предназначен для асинхронного вызова лямбды. Это означает, что вы (или какой-либо сервис) вызывает лямбда-функцию, и она не ожидает результатов. В этом случае лямбда-сервис будет пытаться вызвать вашу функцию в фоновом режиме 2 раза при условии, что первоначальная попытка не удалась.

Вторая (повторная попытка 10000) предназначена для Отображение источника события, Это особый процесс в лямбда-сервисе, который отслеживает источники данных (в данном случае поток DynamoDB) и вызывает вашу функцию от вашего имени. Вы не участвуете в этом процессе, за исключением настройки сопоставления. В этом случае отображение источника событий вызывает вашу лямбду синхронно . Он попытается сделать это 10000 раз в случае ошибок. Это отдельный параметр от параметра повтора, используемый для асинхронных вызовов.

Надеюсь, это поможет.

...