Это неожиданное поведение.
Если вы видите 2 отдельных события, это будет означать, что произошло 2 отдельных действия. В другое время это означает, что произошло вторичное действие.
Из AWS Документация верно следующее
DynamoDB Streams помогает обеспечить следующее :
- Каждая запись потока появляется в потоке ровно один раз.
- Для каждого элемента, измененного в таблице DynamoDB, записи потока отображаются в той же последовательности, что и фактические изменения в элемент.
Вероятно, это будет связано с вашим приложением, убедитесь, что вы не используете несколько записей там, где, по вашему мнению, может быть одна.
Также проверьте ваш CloudTrail , чтобы узнать, есть ли несколько вызовов API, которые вы видите. Я предполагаю, что если вы используете глобальные таблицы, есть вероятность увидеть вторичный вызов api, поскольку содержимое элемента будет изменено службой DynamoDB.