The items from the stream have the data type present in the stream.
I am trying to find a library similar to dynamodb-data-types, which can unwrap the dynamoDB structure to json structure for java. My lambda is in java.
Eg: I am trying to convert
{
"prospectId": {
"S": "kjhakh23444"
},
"campaignId": {
"S": "kjhniujj123"
}
}
to
{
"prospectId": "kjhakh23444",
"campaignId": "kjhniujj123"
}
Prospect.java
@DynamoDBTable(tableName="Prospect")
public class Prospect {
private String campaignId;
private String prospectId;
public Prospect() {
}
@DynamoDBHashKey(attributeName="campaignId")
public String getCampaignId() {
return campaignId;
}
public void setCampaignId(String campaignId) {
this.campaignId = campaignId;
}
public String getProspectId() {
return prospectId;
}
public void setProspectId(String prospectId) {
this.prospectId = prospectId;
}
}
I am trying below but as per the DynamoDbStreamRecord structure, below will not work out. How can I parse DynamoDbStreamRecord so that I get the Prospect Object?
String body = new Gson().toJson(dynamodbStreamRecord.getDynamodb().getNewImage());
Prospect prospect = new Gson().fromJson(body, Prospect.class);
Please help me out.