Ограничить количество загрузок S3 / уведомлений SNS - PullRequest
0 голосов
/ 26 марта 2020

У нас есть внешний сервис, который загружает файлы на наш S3 bucket в account A. Мы повышаем SNS notifications при каждой загрузке. Функция lambda в account B подписывается на эти уведомления.

Это хорошо работает для нас, за исключением того, что , если внешняя служба пропускает конфигурацию, она загружает> 500 файлов вместе (в одном каталоге) . И наша лямбда срабатывает 500 раз, когда это происходит.

1. Is there a way to limit the number of files uploaded to a bucket within X minutes?
2. Is there a way to stop the lambda from getting invoked if it sees >500 SNS notifications together?

Я знаю, что размещение SQS между Lambda и SNS, вероятно, решит нашу проблему. Я хочу знать, есть ли другой более простой и удобный способ решить эту проблему.

Я исследовал возможность ограничения параллелизма лямбда-выражений, чтобы при дросселировании это не удавалось, однако уведомления SNS будут повторяться трижды (что также это хорошо, и мы не хотим потерять эту функцию в случае других ошибок), поэтому мы не хотим этого делать.

Обратите внимание, что мгновенная обработка не является для нас жестким требованием. Мы можем подождать около 5 минут для обработки уведомления SNS.

1 Ответ

1 голос
/ 26 марта 2020

Нет, невозможно ограничить загрузку в Amazon S3 в течение определенного периода времени.

Также невозможно остановить Lambda, если он видит больше, чем определенное количество уведомлений Amazon SNS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...