Невозможно архивировать данные от AWS Kinesis до ледника - PullRequest
0 голосов
/ 27 июня 2018

Я работаю над приложением обработки данных, размещенным в виде веб-службы на EC2, каждую секунду создается небольшой файл данных (менее 10 КБ) в формате .csv.

Постановка задачи: Архивируйте все файлы данных, сгенерированные в Amazon Glacier.

Мой подход: Как файлы данных очень маленькие. Я сохраняю файлы в AWS Kinesis и через несколько часов сбрасываю данные в S3 (потому что не могу найти прямой способ передачи данных из Kinesis в Glacier) и, используя управление жизненным циклом S3, в конце дня архивирую все объекты в Glacier ,

Мои вопросы:

  1. Есть ли способ передачи данных на Glacier непосредственно из Kinesis?

  2. Можно ли настроить Kinesis для сброса данных в S3 / Glacier в конце дня? Есть ли какое-то время или ограничение памяти, до которого Kinesis может хранить данные?

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

  4. Можно ли объединить все файлы .csv на уровне Kinesis, S3 или Glacier?

  5. Подходит ли Kinesis для моего использования? Могу ли я использовать что-нибудь еще?

Буду признателен, если кто-то найдет время, ответит на мои вопросы и укажет на некоторые ссылки. Пожалуйста, дайте мне знать, если в моем подходе есть изъян или есть лучший способ сделать это.

Спасибо.

1 Ответ

0 голосов
/ 29 июня 2018
  1. Вы не можете напрямую помещать данные из Kinesis в Glacier (если только вы не хотите поместить файлы размером 10 КБ непосредственно в Glacier)
  2. Вы можете рассматривать Kinesis Data Firehose как способ очистки 15 минут. Приращение данных до S3
  3. Ты определенно можешь это сделать. Glacier позволяет загружать напрямую, поэтому нет необходимости сначала загружать на S3
  4. Вы можете использовать Firehose, чтобы перейти на S3, затем трансформироваться и агрегировать с помощью Athena, а затем переводить этот файл в Glacier. Или вы используете Lambda напрямую и загружаете прямо в Glacier.
  5. Возможно, потоковая передача данных в Firehose имела бы больше смысла. В зависимости от ваших потребностей, IoT Analytics также может быть интересной.

Прочитав ваш вопрос еще раз, увидев, что вы используете CSV-файлы, я настоятельно рекомендую использовать Kinesis> S3> Athena> Переход к подходу к леднику

...