Amazon web services 如何读取Kinesis数据流中最早的未处理记录

Amazon web services 如何读取Kinesis数据流中最早的未处理记录,amazon-web-services,aws-lambda,amazon-kinesis,Amazon Web Services,Aws Lambda,Amazon Kinesis,我是AWS的新手,需要一些指导 我想处理最早的未处理记录,但我似乎无法获得正确的参数 对于碎片迭代器: 我试过了TRIM_HORIZON,它给了我所有的唱片 开始 我也试过最新的,它只给了我一张最新的唱片 不确定这些额外的细节是否有帮助,但是 我通过Lambda在AWS控制台上输入我自己的记录 我通过查看CloudWatch中的日志文件来调试它 我通过碎片迭代器(TRIM_HORIZON和最新版本)获取记录 我的getRecords限制设置为100 提前谢谢 没有“最早的未处理记录”,

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

我想处理最早的未处理记录,但我似乎无法获得正确的参数

对于碎片迭代器:

  • 我试过了TRIM_HORIZON,它给了我所有的唱片 开始
  • 我也试过最新的,它只给了我一张最新的唱片
不确定这些额外的细节是否有帮助,但是

  • 我通过Lambda在AWS控制台上输入我自己的记录
  • 我通过查看CloudWatch中的日志文件来调试它
  • 我通过碎片迭代器(TRIM_HORIZON和最新版本)获取记录
  • 我的getRecords限制设置为100
提前谢谢

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

如果您使用的是Kinesis,我强烈建议您使用,它的概念是-这些基本上是一个很好的包装器,可以翻译为“最旧的未选中记录”-或者尽可能接近“最旧的未处理记录”


(你可以自己实现这个逻辑,但为什么不重用Amazon已经为你完成的工作呢?

试着读一下:听起来你需要保留上一个。。。我在你的问题中遗漏了什么吗?我的Lambda函数只在运动中有新的活动时才会被触发。因此,每次触发lambda函数时,我都会得到一个新的shard迭代器,因为我需要再次调用GetShardIterator。我将尝试查看是否可以保留NextSharedIterator,但我试图避免保留它,以便使lambda函数保持无状态。我还有别的办法吗?非常感谢!啊,对。我在看KCL。但是,我仍然不知道如何使它与Lambda一起工作。也许我需要启动一个EC2实例;EC2将为您执行此操作。可能也更具成本效益,除非您的碎片流量非常低(在这种情况下,有比动画更具成本效益的解决方案),谢谢您的指导!最后一件事,我的碎片流量很低。你提到的这些“比运动更具成本效益的解决方案”是什么?在其核心,将运动想象为一个队列。这是一个队列,您可以使用它做一些奇特的事情,特别是在高容量时,但对于低容量,还有其他一些东西也可以充当“队列”(功能稍有不同-根据您的需要进行选择)。SQS和SNS是更明显的基于AWS的选择。啊。我会读出来的。非常感谢所有做出贡献的人!:)