3

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.

Rahul
  • 493
  • 3
  • 7
  • 25

0 Answers0