2016-06-27 39 views
2

我們如何從AWS Kinesis中讀取時間流?
使用AWS Kinesis流,可以發送事件流,並且消費者應用程序可以讀取事件。 Kinesis Stream工作人員獲取記錄並將它們傳遞給IRecordProcessor#processRecords從上一個檢查點開始。
但是,如果我需要閱讀回溯的記錄,例如從2小時前開始處理記錄,那麼如何配置我的kinesis工作人員來獲取這些記錄?從過去的AWS Kinesis中讀取

回答

2

您可以使用關於碎片迭代器的不同設置再次啓動您的kinesis使用者(或另一個)。 看到這裏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應用程序,則需要先刪除這些檢查點。