2017-10-08 108 views
0

的boto3文档提到Boto3阅读室壁运动流

在请求中,可以指定碎片迭代器类型AT_TIMESTAMP从任意时间点读记录,TRIM_HORIZON造成ShardIterator指向系统碎片中最后一条未修剪的记录(碎片中最早的数据记录)或LATEST,以便始终读取碎片中的最新数据。

这是

my_shard_id = 'shardId-000000000000' 

shard_iterator = kinesis_client.get_shard_iterator(StreamName=my_stream_name, 
                 ShardId=my_shard_id, 
                 ShardIteratorType='TRIM_HORIZON') 

设置ShardIteratorType =“TRIM_HORIZON”应该给我从最早的项目,这是我的整个用例,即能够旋转了一个新的消费基础启动发电机并让它处理来自过去24小时的所有事件。

但是这不是为我工作,我得到空记录

{u'Records': [], 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': 'e705d8f2-dd62-f0d5-b551-4dd5ace4499e', 'HTTPHeaders': {'x-amzn-requestid': 'e705d8f2-dd62-f0d5-b551-4dd5ace4499e', 'content-length': '284', 'x-amz-id-2': '5bI4T8k4DIpvCsBRUtMw1WFgWqa4tT5X8bUj9mg1NGUFMBZe36iqibCRjDHathIe4j6GbmI6v8A+9d1TiBtbGg7/Sn4GduQPDQ0HVpcP/sM=', 'server': 'Apache-Coyote/1.1', 'date': 'Sun, 08 Oct 2017 21:04:39 GMT', 'content-type': 'application/x-amz-json-1.1'}}, u'NextShardIterator': u'AAAAAAAAAAH1FwRBEtaHytINAF8WzGDaKRaY5OEKCjFS+mKK5AQFqEf1SPJ8crMIMuBSNFOtfFn3KBT63r5f/bu40OLwhDztEbJgeYjciHVJERpFBDENiWOAZ760flMiZ0mXwCGfFW8cq/8hVC/qiwg1yF96+ujIIAz4vzvK7N944LBB2vH35+8noU/FBK9LCHLOxXxNAQXoOarcEPEU6jt112kOwEyT', u'MillisBehindLatest': 0} 
{u'Records': [], 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': 'c51c2d88-e979-8b07-9748-b8a598ff324c', 'HTTPHeaders': {'x-amzn-requestid': 'c51c2d88-e979-8b07-9748-b8a598ff324c', 'content-length': '284', 'x-amz-id-2': 'BE5rXnfii4ifLDlFuIHQxTBpUvhJ2MJKW92QjzDVFNUD4xRgIgcWhn89dA5EbdPo8HGb5MJDzZ+QfGqB9R4JykZmkvTgb3Fd9y9zaionRBk=', 'server': 'Apache-Coyote/1.1', 'date': 'Sun, 08 Oct 2017 21:04:44 GMT', 'content-type': 'application/x-amz-json-1.1'}}, u'NextShardIterator': u'AAAAAAAAAAEE0Qf0P4bXC7fg7yWj5SejVw9AIyN0iEnHWfj+nN8rIFSPwtDASvHIs+ZPcE2E7EU/gcvLqceWZ+GCptAnc6C3AzwsBK4HamaGCbV7K8l0fTnVMvErzboVGGqtAH4iHrimleGzUgJJ0TYgSDmPvdGDXCP+PRtwTFVGGZxK05jxTHf1qqOm74EfOMe65Bg+10MaNO4IO3NePm5lAy6AbQ/q', u'MillisBehindLatest': 0} 

但是那一刻我创建它在这里展示了一个新的事件。

我需要这个来显示流过去24小时的所有事件。

回答

0

TRIM_HORIZON开始从最早的项目读取数据,但是它从之前使用检查点停止的位置开始。您可以在DynamoDB中看到检查点表。