AWS S3 ObjectCreated запускает лямбду с задержкой - PullRequest
0 голосов
/ 30 ноября 2018

Я настроил простой триггер для лямбда , который обрабатывает изображение при достижении S3 .Как правило, лямбда срабатывает с минимальной задержкой, много раз за одну и ту же секунду, когда S3 получает изображение.Но иногда в 7% случаев возникает задержка между полученным изображением и ObjectCreated событием, эта задержка может составлять до 19 секунд !! (9-10 секунд в среднем).

Есть идеи, как избежать этой задержки?

Эта задержка делает невозможным использование триггеров S3-> Lambda для высокопроизводительной работы в реальном времени.приложения.

1 Ответ

0 голосов
/ 30 ноября 2018

Через некоторое время, пытаясь исследовать и поискать в Google.

Параллельно запрашивая поддержку AWS по этому делу, я наконец получил ответ от AWS:

-

.. Лямбда вызвала функцию почти сразу после того, как мы получили событие, но конкретный идентификатор запроса, которым вы поделились, был для вызова, который должен был coldstart , который добавил почти 10 секунд с дополнительной задержкой.

Функция находится в VPC , где холодный пуск обычно занимает на несколько секунд дольше . Холодные пуски не могут быть устранены, но для функций большого объема частота холодного запуска должна быть ниже, когда вы увеличиваете масштаб, и больше контейнеров доступно для повторного использования.

Как вы можете видеть из ответа, если вы пытаетесь создать приложение с высокой производительностью / большим трафиком в режиме реального времени, S3-> Lambda не будет соответствовать вашим требованиям.

Мой следующий вопрос будет, если я вызовулямбда прямо из скрипта, который загружает изображение, это поможет?Или я должен вообще избегать использования лямбды в таких приложениях и оставлять ее только для фоновой обработки данных?

Надеюсь, этот ответ поможет кому-то еще ..

...