Сообщения исчезают из очереди SQS в Lambda

Я отправляю сообщения из очереди SQS в функцию Node.js Lambda. Я отправляю в очередь около 20 сообщений одновременно, после чего Lambda начинает работать.

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

Это длинная очередь опроса с такими настройками:

  • Время ожидания видимости по умолчанию: 2 минуты
  • Задержка доставки: 0 секунд
  • Время ожидания получения сообщения: 5 секунд
  • Тип очереди: Стандартная

Сценарий Lambda завершился через несколько секунд, и для параметра параллелизма установлено значение «Использовать незарезервированный параллелизм учетной записи».

В целях отладки я теперь также отправляю все сообщения во вторую очередь, которая не обрабатывается. Там я вижу все сообщения, в том числе те, которые отсутствуют в другом.

Сообщения просто содержат около 3 числовых переменных в json, поэтому размер не должен быть проблемой.

Я настроил политику переадресации, и отсутствующие сообщения также не отображаются в очереди недоставленных сообщений.

Типа дергаю меня за волосы здесь. Любые идеи, почему эти сообщения, кажется, исчезают?


person Rick    schedule 16.11.2018    source источник
comment
Не могли бы вы включить результат регистрации события, с которым вызывается ваша лямбда?   -  person thomasmichaelwallace    schedule 16.11.2018
comment
Я предполагаю, что несколько сообщений отправляются на один вызов Lambda (что является настройкой по умолчанию, и вы не включили параметр «Размер пакета» в свой вопрос), и ваша функция Lambda обрабатывает только первое сообщение вместо того, чтобы правильно перебирать все сообщения, переданные ему.   -  person Mark B    schedule 16.11.2018
comment
Установка размера пакета на 1 исправляет ситуацию.   -  person Rick    schedule 16.11.2018
comment
Или вы можете просто добавить цикл в свою лямбда-функцию, последовательно обрабатывать все N сообщений и, надеюсь, сэкономить время и деньги.   -  person jarmod    schedule 18.11.2018
comment
Хорошо, я так и сделаю.   -  person Rick    schedule 18.11.2018
comment
вы можете решить эту проблему в stackoverflow .com/questions/51596709/   -  person Đào Ngọc Lâm    schedule 04.07.2019