У сожалению это особенность CW. Вы можете иметь базу в dynamo DB и там отмечать id события и проверять его наличие перед обработкой. Те если его там ещё нет, то это первый раз. А если уже есть, то это повторный. В самой базе настройте TTL на объекты, чтобы они сами автоматом удаляличь через пару часов и не увеличивали вам базу. Напомню, что вам надо именно id события брать, а не id запуска lambda.
id событий разные, но внутри payload есть уникальное значение. В принципе, могу его использовать. Но в любом случае, получается, что за лямбду придётся платить дважды.