S3 сделан для хранения, с некоторыми автоматическими задачами репликации и управления версиями. Это не делает обработку ваших данных. Сам S3 не сравнивается с точки зрения объектов, он видит только байты.
Даже если вы прочитаете данные в лямбда-выражении, это также будет стоить затрат на передачу данных.
Это зависит от того, что вы думаете об эффективной программе? экономически эффективным или экономичным по времени (без синхронной блокировки потока приложения.
- Ваша загрузка в s3 bucket может отправить уведомление о событии в aws lambda, которая затем прочитает ваши объекты и сравнит их, а затем может сохранить результаты (Dynamo DB или где-то еще).
Если вам не нужно сравнивать в реальном времени, вы можете посмотреть запланированные события в aws lambda, которая запускается через определенный интервал.