Я разрабатываю Audit Trail System , которая будет служить центральным местом для всех критических событий, происходящих в организации. Я планирую использовать Amazon SQS в качестве временной очереди для хранения сообщений, что, в свою очередь, вызовет лямбда-функцию AWS для записи сообщений в AWS S3 store . Я хочу разделить данные на уровне tenantId (некоторый идентифицируемый идентификатор) и сохранить сообщения в виде пакетов в S3, что уменьшит количество вызовов от лямбды до S3 . Более того, я хочу запускать лямбду каждый час. Но у меня есть 2 проблемы: один максимальный размер пакета, предоставляемый SQS, равен 10, а также лямбда-триггер опрашивает сервис SQS на регулярной основе, что увеличивает количество вызовов к моему S3. Я хочу создать пакет из 1000 сообщений (скажем) вручную перед вызовом API пакета S3. Я не очень уверен, как создать архитектуру моей системы, чтобы вышеуказанные требования были выполнены. Помощь или идея очень важны!
Упрощенная архитектура:
Спасибо!