всем привет.
подписал тут лямбду на события CloudWatch Logs
. Настроил CloudTrail на события Write
, лямбда тригеррится по событию, все ок. Но! Она тригеррится дважды. Причем оба ивента прилетают одновременно и различия только в их id
. Можно ли как-то исключить идемпотентность?
У сожалению это особенность CW. Вы можете иметь базу в dynamo DB и там отмечать id события и проверять его наличие перед обработкой. Те если его там ещё нет, то это первый раз. А если уже есть, то это повторный. В самой базе настройте TTL на объекты, чтобы они сами автоматом удаляличь через пару часов и не увеличивали вам базу. Напомню, что вам надо именно id события брать, а не id запуска lambda.