DynamoDB同一记录生成多条INSERT事件的原因排查
问题分析:DynamoDB流触发重复INSERT事件的原因排查
问题场景
有一个Lambda函数专门处理DynamoDB表流的INSERT事件,该表仅以RecordId作为HASH键,且记录设置了24小时后过期的TTL属性。当某条记录被创建后立即调用PutItem执行更新操作时,系统却生成了多条INSERT事件,而非预期的UPDATE事件。此问题无法稳定复现,仅能通过Lambda执行日志观测到异常现象。
根因确认
经过对日志的详细分析,最终确认问题根源:该记录并非仅执行了更新操作,而是先被删除后重新创建。
DynamoDB流的事件触发逻辑为:只有当同一条记录(基于HASH键)处于存在状态时被修改,才会触发UPDATE事件;如果记录已被删除(包括TTL自动过期删除),之后再通过PutItem写入相同RecordId的记录,会被判定为新的创建操作,进而触发INSERT事件。
内容的提问来源于stack exchange,提问作者mehran
相关产品推荐
相关产品推荐

