AWS Kinesis читает из прошлого

Как мы читаем из потока AWS Kinesis, возвращаясь во времени?
Используя поток AWS Kinesis, можно отправлять поток событий, а приложение-потребитель может читать события. Рабочий Kinesis Stream извлекает записи и передает их в IRecordProcessor # processRecords из последней контрольной точки.
Однако, если мне нужно прочитать записи, относящиеся к прошлому, например, начать обработку записей из 2 часа назад, как мне настроить моего kinesis worker для получения таких записей?


person suman j    schedule 27.06.2016    source источник


Ответы (1)


Вы можете снова запустить своего потребителя кинезиса (или другого) с другими настройками итератора Shard. см. здесь GetShardIterator Обычная настройка - LATEST или TRIM_HORIZON (самый старый) :

{
   "ShardId": "ShardId",
   "ShardIteratorType": "LATEST",
   "StreamName": "StreamName",
}

Но вы можете изменить его на определенное время (с последних 24 часов).

{
   "ShardId": "ShardId",
   "ShardIteratorType": "AT_TIMESTAMP",
   "StreamName": "StreamName",
   "Timestamp": 2016-06-29T19:58:46.480-00:00
}

Имейте в виду, что обычно потребитель кинезиса сохраняет свои контрольные точки в таблице Dynamodb, поэтому, если вы используете то же приложение кинезиса, вам нужно сначала удалить эти контрольные точки.

person itai ariel    schedule 29.06.2016