Невозможно архивировать данные от AWS Kinesis до ледника

Я работаю над приложением обработки данных, размещенным в виде веб-службы на 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 ответ

Решение
  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 > Переход к леднику

Другие вопросы по тегам