我目前有一个用例,用于将数据从DDB流复制到Kinesis数据流(只是为了增加数据保留期)。使用DDB Streams,与Kinesis Data Streams相比,其仅有24小时的保留时间长达7天。
因此,我想到的是将数据从DDB流复制到Kinesis Data Streams的lambda,但是我不确定在进行复制时是否会出现订购/重复记录的情况,因为我猜“消费者”故障(即Lambda故障)可能会导致流记录向DynamoDB的无序交付,并且Kinesis Data Streams中是否可能有重复的记录?是否有AWS客户构建的解决方案来解决此问题或任何解决方法?
因为您有一个生产者,即dynamodb流,所以您可以做的就是让lambda函数消耗该流并将其插入FIFO SQS队列,您可以通过以下帖子对事件进行重复数据删除:
https://dev.to/napicella/deduplicating-messages-exactly-once-processing-4o2
btw,您可以将SQS保留期设置为14天,因此,如果您不需要实时解决方案,可以使用它代替kenisis。>