Есть ли способ получить ТОЛЬКО обновленные поля в объекте вместе с некоторыми другими атрибутами (то есть идентификаторами для этого объекта, будь то первичный ключ или что-то еще) В документации amazon: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html Я вижу, у нас есть четыре варианта : ТОЛЬКО КЛЮЧИ, НОВОЕ ИЗОБРАЖЕНИЕ, СТАРОЕ ИЗОБРАЖЕНИЕ, НОВЫЕ И СТАРЫЕ ИЗОБРАЖЕНИЯ Единственный возможный способ, который я вижу прямо сейчас, чтобы получить все обновленные атрибуты вместе с идентификатором, - это использовать NEW_AND_OLD_IMAGES, а затем перекрестную проверку каждого атрибута в НОВОМ ИЗОБРАЖЕНИИ против СТАРОГО ИЗОБРАЖЕНИЯ. Есть ли лучший способ сделать это?
Получить только обновленные поля вместе с идентификаторами в потоке DynamoDB
Ответы (1)
Нет, нет никакого способа сделать то, на что вы надеетесь. Вы можете представить себе пятый StreamViewType
, в котором хранятся только ключ и обновленные атрибуты, но, к сожалению, DynamoDB Streams его не поддерживает.
Интересно, хотя я сомневаюсь, что это поможет вам, ReturnValues
действительно поддерживает режим, который вы хотели - см. UPDATED_NEW
в документация UpdateItem. Но, увы, это не поддерживается потоками DynamoDB.
Если вы хотите использовать альтернативы DynamoDB, есть Scylla Alternator с открытым исходным кодом, который совместим с DynamoDB и DynamoDB Streams, а его реализация Streams основана на CDC Scylla (сбор данных об изменениях), который может захватывать дельты точно так, как вы надеялись. Эти дельты в настоящее время не представлены в API-интерфейсе Scylla, совместимом с DynamoDB Streams, поскольку он не является частью этого API, но такую функцию можно добавить довольно легко.