Amazon dynamodb 如何序列化和反序列化DynamoDB流记录对象

Amazon dynamodb 如何序列化和反序列化DynamoDB流记录对象,amazon-dynamodb,amazon-dynamodb-streams,Amazon Dynamodb,Amazon Dynamodb Streams,我们计划使用DynamoDB Stream,这是流处理的一部分,我们需要com.amazonaws.services.dynamodbv2.model.Record对象进行序列化和反序列化。我知道我们可以使用java ObjectOutputStream和ObjectInputStream,但这还不能满足我们的需要 我们需要管理反序列化程序和序列化程序中的版本,因为如果记录结构或新版本发生更改,我们无法一次性升级使用反序列化程序升级的所有服务 有办法吗?我想我找到了解决办法 序列化:新建Reco

我们计划使用DynamoDB Stream,这是流处理的一部分,我们需要com.amazonaws.services.dynamodbv2.model.Record对象进行序列化和反序列化。我知道我们可以使用java ObjectOutputStream和ObjectInputStream,但这还不能满足我们的需要

我们需要管理反序列化程序和序列化程序中的版本,因为如果记录结构或新版本发生更改,我们无法一次性升级使用反序列化程序升级的所有服务


有办法吗?

我想我找到了解决办法

序列化:新建RecordAdapter(record).getData

反序列化:新建RecordObjectMapper().readValue(新字符串(字节),Record.class)


谢谢你,杰森我想我找到了解决办法

序列化:新建RecordAdapter(record).getData

反序列化:新建RecordObjectMapper().readValue(新字符串(字节),Record.class)


谢谢你,Jason

你从DynamoDB流中获得的数据是原始DynamoDB JSON格式的,所以我不确定我是否理解这个问题。实际上,我们正在使用KinesisStreamConsumer作为流处理应用程序的一部分。因此,com.amazonaws.services.dynamodbv2.model.Record就是我们得到的对象。我们需要对该对象进行反序列化和序列化。该对象/类作为
StreamRecord
StreamRecord
有一个
OldImage
NewImage
,其中将填充DynamoDB原始数据(一个字符串,AttributeValue映射)。从DynamoDB流中获得的数据是原始DynamoDB JSON,因此我不确定我是否理解这个问题。实际上,我们使用KinesisStreamConsumer作为流处理应用程序的一部分。因此,com.amazonaws.services.dynamodbv2.model.Record就是我们得到的对象。我们需要对该对象进行反序列化和序列化。该对象/类作为
StreamRecord
StreamRecord
有一个
OldImage
NewImage
,将用DynamoDB原始数据(字符串、属性值映射)填充。