Ошибка «LAMBDA_RUNTIME» в лямбда-функции большого объема - PullRequest
0 голосов
/ 26 марта 2020

В настоящее время я использую лямбда-функцию, написанную на Javascript, которая настроена с источником событий SQS для автоматического извлечения сообщений из очереди SQS и выполнения некоторой базовой обработки c содержимого сообщения. Я не могу показать код, но сводка выполнения лямбда-функции в основном:

Для каждого сообщения в пакете, которое она получает как часть события:

  1. Она анализирует тело, которая представляет собой строку JSON в объекте Javascript.
  2. Она считывает объект из S3, который указан в объекте, используя getObject.
  3. . Она помещает запись в Таблица DynamoDB с использованием put.
  4. Если ошибок не было, она удаляет отдельное сообщение SQS, которое было обработано из очереди с использованием deleteMessage.

Эта очередь SQS высока -объем и получает сообщения в натуральном выражении, регулярно создавая резервы миллионов сообщений. Лямбда обычно может масштабироваться для одновременной обработки сотен тысяч сообщений. Это решение хорошо работало для меня с другими приложениями в прошлом, но теперь я сталкиваюсь со следующей неустойчивой ошибкой, которая надежно начинает появляться при увеличении лямбды:

[ERROR] [#############] LAMBDA_RUNTIME Failed to post handler success response. Http response code: 400.

Я не смог найти любая информация о том, что означает эта ошибка и что ее вызывает. Похоже, что не существует четкой картины, с которой сталкиваются казни. Функция обычно может работать в течение короткого периода, не обнаруживая ошибки и масштабируясь до ожидаемых уровней. Но затем, как вы видите, ошибка начинает появляться довольно внезапно и полностью разрушает пропускную способность Lambda, заставляя ее автоматически уменьшаться:

Кто-нибудь знает, что означает эта ошибка "LAMBDA_RUNTIME" и что может ее вызвать? Время выполнения моей лямбда-функции - Node v12.

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