Гарантирует ли AWS, что моя лямбда-функция будет активирована на 100%? - PullRequest
0 голосов
/ 13 мая 2019

Я настроил свой рабочий процесс AWS таким образом, чтобы моя лямбда-функция запускалась при добавлении текстового файла в мою корзину S3, и в целом она работала нормально - когда я загружаю кучу текстовых файлов в корзину S3, кучаиз лямбда будет работать одновременно и обрабатывать каждый текстовый файл.

Но моя проблема в том, что иногда 1 или 2 файла (из 20 или около того) не запускали лямбда-функцию, как ожидалось.Я понятия не имею, почему - когда я проверил журналы, это НЕ, что файл обрабатывается лямбда, но не удалось.Журнал показал, что лямбда не запускалась этими 1 или 2 файлами вообще.Я не верю, что он также достигает ограничения на 1000 лямбда-параллелей, так как моя функция работает быстрее, а пик составляет около 200 лямбд.

Мой вопрос: это потому, что лямбда-AWS не гарантирует срабатывание%?Как и у S3, всегда есть (хотя и крошечная) вероятность отказа?Если нет, как я могу отладить и исправить эту проблему?

1 Ответ

2 голосов
/ 13 мая 2019

Вы не упоминаете, сколько времени занимает выполнение лямбд. Ограничение по умолчанию для одновременных выполнений составляет 1000 . Если вы загружаете файлы быстрее, чем их можно обработать с помощью 1000 лямбд, вам нужно обратиться в службу поддержки AWS и увеличить свой лимит.

Также из документов :

Уведомления о событиях Amazon S3 обычно доставляют события в считанные секунды, но иногда могут занимать минуту или более. В очень редких случаях события могут быть потеряны.

Если вашему приложению требуется определенная семантика (например, чтобы не пропустить ни одного события или чтобы операции выполнялись только один раз), мы рекомендуем учитывать при создании приложения пропущенные и повторяющиеся события. Вы можете проводить аудит пропущенных событий с помощью API LIST Objects или отчетов инвентаризации Amazon S3. Отчеты об объектах API LIST Objects и Amazon S3 могут быть согласованы и могут не отражать недавно добавленные или удаленные объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...