Ваша лямбда вызывается Kinesis синхронно, и она будет переходить к следующему событию только в случае успешного возврата лямбды.
Эти обстоятельства дают вам возможность самостоятельно записать задержку в свой код лямбды.
await new Promise(done => setTimeout(done, 20000))
processMyEvent(event)
При размере пакета 1
эта лямбда должна сначала завершить sh до запуска следующего события.
Обратите внимание, что дополнительное время выполнения лямбды повлечет за собой затраты.
Вы можете go также и в другом направлении, выполнить свой действительный код и затем отложить отключение Lambda. Вы даже можете использовать объект контекста, чтобы увидеть, как долго работает Lambda, если ваша обработка меняется во время выполнения.
Наконец, я бы рекомендовал изменить вашу архитектуру. Помимо дополнительных затрат, вы искусственно замедляете работу своей платформы.