在AWS API for Kinesis中,分片迭代器的参数ShardIteratorType
接受以下值之一:
AT_SEQUENCE_NUMBER,AFTER_SEQUENCE_NUMBER,AT_TIMESTAMP,TRIM_HORIZON, 最新
但是,AWS的文档编写得非常糟糕,因此我的问题对于理解Kinesis的工作方式至关重要: 使用上面列出的每个迭代器类型时,读取数据的方向是什么?
是否将数据从当前指针的记录读取到之前插入当前记录的记录;或者是从当前指针的记录中读取的数据是在>>插入当前记录后插入的记录?
答案 0 :(得分:0)
读取分片迭代器api docs
我们可以看到LATEST从流的头部开始并向后工作,您获得最新记录并继续回到最旧的记录。
TRIM_HORIZON的工作方向相反,您可以获得最旧的数据并继续查看最新数据。
AT_SEQUENCE_NUMBER,AFTER_SEQUENCE_NUMBER和AT_TIMESTAMP基于从流中的知道位置开始并顺序移动的概念。顺序至少基于 sequence number 文档,我认为这意味着在修剪方向上移动。即,至少最大的序列号。
我希望其中一些有帮助,LASTEST和TRIM_HORIZON根据这些文档对我有意义,但我完全同意AFTER / AT_SEQUENCE数字有点令人困惑。如果有人对此进行了很好的修改,请对其进行评论。