我们如何及时阅读AWS Kinesis流?
使用AWS Kinesis流,可以发送事件流,而消费者应用程序可以读取事件。 Kinesis Stream工作程序获取记录并将它们从最后一个检查点传递给 IRecordProcessor#processRecords 。
但是,如果我需要及时读取记录,例如从2小时前开始处理记录,我该如何配置我的kinesis worker来获取这些记录?
答案 0 :(得分:2)
您可以使用有关Shard迭代器的不同设置再次(或不同的)启动您的kinesis使用者。 见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
}
请记住,kinesis使用者通常会将其检查点保存在dynamodb表中,因此如果您使用相同的kinesis应用程序,则需要先删除这些检查点。