Вот как я решил проблему.
Я бы вообще не рекомендовал использовать SQS , и вам не нужны какие-либо функции, предлагаемые SQS для вашего сценария использования.
Переместился из SQS в Kinesis Data Streams и установил размер пакета в 1 для запуска Lambda. Это позаботится об этом. Kinesis streams - это ФИФО. Также Kinesis очень хорошо масштабируется по сравнению с транзакционными очередями FIFO SQS.
Производитель -> Потоки данных Kinesis -> (Лямбда-триггер [Размер пакета в
1]) лямбда
Учитывая случаи ошибок,
Ошибка обработки:
Если ваша лямбда не работает во время обработки потоковых данных, ваша контрольная точка будет повторять попытки с неограниченным числом попыток. Вы должны убедиться, что исправили свою лямбду и заставили ее двигаться вперед. Общее время повторных попыток равно общему времени, когда вы настроили доступность данных в потоке.
Ошибка в Lamda:
Если у вас есть ошибка в лямбде, и вы хотите вернуться с начала потока, вы можете сделать это.
Надеюсь, это поможет.