Kinesis:使用LATEST与TRIM_HORIZON时,从分片中读取数据的方向是什么

时间:2017-07-10 22:14:36

标签: amazon-web-services amazon-kinesis

在AWS API for Kinesis中,分片迭代器的参数ShardIteratorType接受以下值之一:

  

AT_SEQUENCE_NUMBER,AFTER_SEQUENCE_NUMBER,AT_TIMESTAMP,TRIM_HORIZON,   最新

但是,AWS的文档编写得非常糟糕,因此我的问题对于理解Kinesis的工作方式至关重要: 使用上面列出的每个迭代器类型时,读取数据的方向是什么?

是否将数据从当前指针的记录读取到之前插入当前记录的记录;或者是从当前指针的记录中读取的数据是在>插入当前记录后插入的记录?

1 个答案:

答案 0 :(得分:0)

读取分片迭代器api docs

我们可以看到LATEST从流的头部开始并向后工作,您获得最新记录并继续回到最旧的记录。

TRIM_HORIZON的工作方向相反,您可以获得最旧的数据并继续查看最新数据。

AT_SEQUENCE_NUMBER,AFTER_SEQUENCE_NUMBER和AT_TIMESTAMP基于从流中的知道位置开始并顺序移动的概念。顺序至少基于 sequence number 文档,我认为这意味着在修剪方向上移动。即,至少最大的序列号。

我希望其中一些有帮助,LASTEST和TRIM_HORIZON根据这些文档对我有意义,但我完全同意AFTER / AT_SEQUENCE数字有点令人困惑。如果有人对此进行了很好的修改,请对其进行评论。