Amazon web services 九广铁路消费者遗失纪录

Amazon web services 九广铁路消费者遗失纪录,amazon-web-services,amazon-kinesis,Amazon Web Services,Amazon Kinesis,我观察到,在运动流中存在一些记录,但KCL消费者应用程序尚未收到这些记录。发生这种情况的原因是什么?前后的记录都很好 所有异常都在我的应用程序中使用,KCL不会收到。因此,这种情况也没有发生 一些细节: 打开的碎片数:4 已关闭碎片数:3 正在运行的工人人数:5 我从我的Kinesis producer获取序列号,并在aws cli中使用AT_sequence_number作为碎片迭代器类型直接获取记录,我可以看到这些记录 因此,流中有它们,但KCL应用程序没有收到它们 看看动觉反应中的“滞后于

我观察到,在运动流中存在一些记录,但KCL消费者应用程序尚未收到这些记录。发生这种情况的原因是什么?前后的记录都很好

所有异常都在我的应用程序中使用,KCL不会收到。因此,这种情况也没有发生

一些细节: 打开的碎片数:4 已关闭碎片数:3 正在运行的工人人数:5

我从我的Kinesis producer获取序列号,并在aws cli中使用AT_sequence_number作为碎片迭代器类型直接获取记录,我可以看到这些记录

因此,流中有它们,但KCL应用程序没有收到它们

看看动觉反应中的“滞后于最新时间的毫秒”值。 如果该值为~86399000,则流保留期为24 小时(86400000),这就解释了为什么你会得到一个空的 答复

当您使用shard_迭代器检索记录时,该记录不再在流中,因为已超过记录的保留期。因此,您会得到一个空的结果,因为最旧的记录已经过期,不再存在于数据流中。因此,碎片迭代器现在指向磁盘中的一个空白空间

当发生这种情况时,取“next_shard_iterator”的值,并使用get_records再次获取运动数据记录。可能数据未存储在并发/连续内存块中,因此在检索数据之间会得到空结果

继续取“next_shard_iterator”的值,并使用get_records,直到“millis_behind_latest”的值为0

您肯定会将所有数据添加到动觉流中


希望这个答案有帮助。:)

也有同样的问题。你找到解决方法了吗?