Не думаю, что мы можем предотвратить срабатывание лямбды при перезаписи элемента в DynamoDB. Но как только Lambda запущена, мы можем определить, является ли это новая запись или существующая запись.
Входом для функции Lambda будет DynamoDBStreamEvent
, который содержит атрибут OldImage
. Если это присутствует, это означает, что это существующая запись, которая была изменена. В этом случае мы можем просто вернуться из Lambda без какой-либо обработки.
Кроме того, событие содержит весь моментальный снимок до и после вставки в атрибуты OldImage
и NewImage
. Таким образом, мы также можем проверить, изменилось ли какое-либо другое значение атрибута или нет, чтобы решить, является ли это перезаписью.