Reputation: 405
We are planning to use DynamoDB Stream, part of stream processing we need com.amazonaws.services.dynamodbv2.model.Record object to be serialized and deserialized. I know we can do java ObjectOutputStream and ObjectInputStream, but this does not suffice our needs.
The need is we have to manage versions in deserializer and serializer because if there is a change in Record structure or new version, we can not upgrade all the services which use deserializer to upgrade at one shot.
Is there a way to do this?
Upvotes: 4
Views: 4827
Reputation: 21
For anyone coming back to this in 2022, the classes are here: https://javadoc.io/static/com.amazonaws/dynamodb-streams-kinesis-adapter/1.5.0/index.html?com/amazonaws/services/dynamodbv2/streamsadapter/model/RecordAdapter.html
in the dynamodb-streams-kinesis-adapter
library
project is here: https://github.com/awslabs/dynamodb-streams-kinesis-adapter
Upvotes: 2
Reputation: 405
I think I found a solution.
Serialize : new RecordAdapter(record).getData
Deserialize: new RecordObjectMapper().readValue(new String(bytes), Record.class)
Thank you, Jason
Upvotes: 2