Aws lambda 从DynamoDB流复制到KinesisData流时,如何保持顺序并避免重复记录?

Aws lambda 从DynamoDB流复制到KinesisData流时,如何保持顺序并避免重复记录?,aws-lambda,amazon-dynamodb,amazon-kinesis,amazon-dynamodb-streams,Aws Lambda,Amazon Dynamodb,Amazon Kinesis,Amazon Dynamodb Streams,我目前有一个将数据从DDB流复制到Kinesis数据流的用例(只是为了增加数据保留期)。使用DDB数据流时,其仅24小时的保留时间与使用Kinesis数据流时相比最多可保留7天 因此,我考虑使用lambda将项目从DDB流复制到Kinesis数据流,但我不确定在复制时是否会出现订购/复制记录的情况,因为我猜测“消费者”失败(即)Lambda故障可能会导致流记录无序交付到DynamoDB,并且在Kinesis数据流中可能存在重复记录?是否有AWS客户构建的解决方案来处理此问题或解决此问题 另外,我

我目前有一个将数据从DDB流复制到Kinesis数据流的用例(只是为了增加数据保留期)。使用DDB数据流时,其仅24小时的保留时间与使用Kinesis数据流时相比最多可保留7天

因此,我考虑使用lambda将项目从DDB流复制到Kinesis数据流,但我不确定在复制时是否会出现订购/复制记录的情况,因为我猜测“消费者”失败(即)Lambda故障可能会导致流记录无序交付到DynamoDB,并且在Kinesis数据流中可能存在重复记录?是否有AWS客户构建的解决方案来处理此问题或解决此问题


另外,我选择Kinesis data streams/DDB streams的原因是,我将在流之外使用lambda,并且我希望每个碎片触发lambda

因为您有一个生产者,即dynamodb流,所以您可以使用lambda函数来消耗流并将其插入FIFO SQS队列,然后您可以通过以下帖子来消除重复事件:

顺便说一句,您可以将SQS保留期设置为14天,这样,如果您不是在寻找实时解决方案,您可以使用它来代替kinesis

一个示例用例

很好,这是一个好主意!但Kinesis数据流的问题是,我可以从每个碎片中触发多个lambda,我可以处理并发运行的lambda的数量。但是对于SQS,我认为lambda触发器不会基于碎片。这是我的限制,我甚至认为动画片数据流和DDB流。如果我没有那种约束,你的方法对我来说会有用的。(将使用此约束更新问题)!