Как я могу агрегировать данные из нескольких лямбд в AWS - PullRequest
0 голосов
/ 11 июля 2019

У меня есть SNS Topic, который вызывает 50 Lambdas в Multiple Accounts

Теперь каждая лямбда производит некоторый вывод в формате json.

Я хочу объединить все эти отдельные json водин список, а затем передать его в другой SNS Topic

Что лучше всего достичь для агрегирования данных

1 Ответ

1 голос
/ 11 июля 2019

Есть несколько архитектурных решений, которые вы можете использовать для решения этой проблемы. Вероятно, нет «правильного», это будет зависеть от объема данных, частоты триггеров и бюджета.

Вам понадобится некоторое общее хранилище, в котором ваши 50 лямбда-функций могут временно хранить свои результаты, и другой компонент, скорее всего, еще одна лямбда-функция, отвечающая за агрегацию для получения окончательного результата.

В зависимости от объема обрабатываемых данных, я бы сначала рассмотрел общую корзину Amazon S3, где все ваши 50 функций могут отбросить свой фрагмент JSON, а функция агрегации могла бы прочитать и собрать все фрагменты. Другими службами, которые могут выступать в качестве общего хранилища, являются Amazon DynamoDB и Amazon Kinesis.

Сложность состоит в том, чтобы обнаружить , когда все фигуры доступны для начала финальной агрегации. Если 50 - фиксированное число, это будет легко, в противном случае вам нужно будет подумать о механизме, который сообщит функции агрегации, что она может начать работать ...

...