Мы использовали уведомления AWS S3 для запуска лямбда-функций, когда файлы попадают на S3, и эта модель работала достаточно хорошо, пока мы не заметили, что некоторые файлы обрабатываются несколько раз, создавая дубликаты в нашем хранилище данных.
Мы заметили, что это произошло примерно с 0,05% наших файлов.
Я знаю, что может защититься от этого, выполнив upsert, но нас беспокоит потенциальная стоимость запуска ненужных лямбда-функций, поскольку это влияет на наши затраты.
Я искал в Google и SO, но нашел только похожие проблемы. У нас нет проблемы тайм-аута, так как файлы были полностью обработаны. Наши файлы довольно маленькие, самый большой файл меньше 400 КБ. Мы не получаем одно и то же событие дважды, поскольку у событий разные идентификаторы запросов, даже если они выполняются в одном и том же файле.