У меня настроена очередь SQS с множественный Лямбды настроены как триггеры. Хотя это разрешено API AWS, не ясно какие предполагаемое поведение.
Например, одно сообщение извлекается из очереди и отправляется каждой лямбде? Или вместо этого каждая лямбда-функция действует как служба опроса, которая отдельно извлекает сообщения из очереди?
Судя по моему тестированию, это последнее, но я не могу нигде найти это задокументировано. Последнее также не имеет для меня большого смысла, учитывая функциональность параллелизма в AWS Lambda.
Сообщение SQS может быть только прочитать один раз из очереди, и пока он обрабатывается одним потребителем, он будет невидим для других потребителей. Если у вас несколько лямбд, каждая из них получит свою долю сообщений, но одно сообщение не будет доставлено более чем одной лямбда за раз.
Сообщения SQS могут быть повторно вставлен в очередь, если обработка Lambda завершилась неудачно (если Lambda запускается очередью) или если сообщение не удалено в пределах таймаут видимости (если Lambda опрашивает очередь).
Если вам нужно, чтобы одно сообщение обрабатывалось одновременно несколькими лямбдами, вы можете:
Надеюсь, это поможет :)