Буфер входящих данных и положить в S3 - PullRequest
0 голосов
/ 04 июня 2019

В соответствии с конкретными бизнес-требованиями мне нужно собрать данные за 5 минут из AWS IOT в S3 и обработать данные.

  1. Я попробовал подход пожарного шланга, где я помещал данные в ведро пожарного шланга и буферизуйте его в течение 5 минут (возможно до 900 с). Однако это возможно только для ограниченного объема входящих записей, поскольку порог размера (128МБ) устраивает пожарный шланг не будет ждать 5 минут для записи данных в S3. Следовательно, это не масштабируется.

Каковы другие способы достижения этого в AWS?

ценим ваш вклад.

1 Ответ

0 голосов
/ 04 июня 2019

Amazon Kinesis Data Firehose удобен тем, что может принимать входящий поток данных и сохранять его в Amazon S3.Вы правы, что максимальный размер буфера составляет 900 секунд и 128 МБ .

См .: Amazon Kinesis Data Firehose Limits

Похоже, вас не устраивают такие ограничения, и вы хотели бы один файл через 5 минут, независимо от размера файла.Для этого вам понадобится обычный Amazon Kinesis Stream с вашим собственным потребителем , считывающий данные из потока.Это довольно сложный процесс, включающий в себя чтение экземпляров Amazon EC2 и их копирование в S3.

Было бы намного проще использовать Amazon Kinesis Data Firehose.Возможно, один из вариантов - иметь выходные файлы Firehose с обычными предельными интервалами, но использовать что-то еще, чтобы запускать обработку (или все, что вы хотите делать) каждые 5 минут.

...