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