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