如何读取Kinesis数据流中最旧的未处理记录

时间:2018-06-01 08:36:59

标签: amazon-web-services aws-lambda amazon-kinesis

我是AWS的新手,想要一些指导。

我想处理最旧的未处理记录,但我似乎无法正确使用params。

Current Architecture

对于分片迭代器:

  • 我尝试过TRIM_HORIZON,它给了我所有的记录 开始。
  • 我也尝试过LATEST,它只给了我最新的记录。

不确定这些额外的细节是否会有所帮助......

  • 我在AWS控制台上通过Lambda创建自己的记录
  • 我正在通过查看CloudWatch中的日志文件
  • 来调试此问题
  • 我通过分片迭代器(TRIM_HORIZON和LATEST)获取记录
  • 我的getRecords限制设置为100

提前致谢!

1 个答案:

答案 0 :(得分:0)

没有“最旧的未处理记录”,因为Kinesis不知道您处理了什么(例如,您可能已经获取了记录但没有对它们进行任何操作)。

如果您正在使用Kinesis,我强烈建议使用Kinesis Client Library,其概念为checkpoints - 这些在{{3}之上基本上是一个不错的包装器转换为“最旧的未检查记录” - 或者尽可能接近“最旧的未处理记录”。

(你总是可以自己实现这个逻辑,但为什么不重用亚马逊已经为你做过的工作?)