Talend ESB Camel aws-ddb route failes with Item member format

Four Stars

Talend ESB Camel aws-ddb route failes with Item member format

Hi,

I'm trying to upload my ESB payload to Dynamodb using camel aws-ddb. 

Using AWSDBClient, I'm able to establish connection to the dynamodb table using appropriate secret/access keys.

While inserting a new item in my table, getting below error. I tried with all possible values like created Headers and changed my payload with TableName and Item values. Still it is giving below error. It is a test table with only partition key (numeric). 

My Payload:

"{TableName:\"test_json_insert\", Item:{\"keys\":{\"N\":\"5\"},\"test\":{\"S\":\"test value\"}}}"

 

My Headers:

Header: "CamelAwsDdbItem" -> Value: "{\"keys\": {\"N\":\"5\"}, \"test\":{\"S\":\"test value\"}}"

 

 

 com.amazonaws.AmazonServiceException: 1 validation error detected: Value null at 'item' failed to satisfy constraint: Member must not be null (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException; Request ID: MAAVOJVOB2UUU7KBO51FSBLUEVVV4KQNSO5AEMVJF66Q9ASUAAJG)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:889)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:485)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:257)
at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.invoke(AmazonDynamoDBClient.java:2908)
at com.amazonaws.services.dynamodbv2.AmazonDynamoDBClient.putItem(AmazonDynamoDBClient.java:1147)
at org.apache.camel.component.aws.ddb.PutItemCommand.execute(PutItemCommand.java:33)
at org.apache.camel.component.aws.ddb.DdbProducer.process(DdbProducer.java:54)
at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:110)
at bdp_test_701.test_db_0_1.Test_DB$1$1$1.process(Test_DB.java:217)

 

 

Thanks


Accepted Solutions
Four Stars

Re: Talend ESB Camel aws-ddb route failes with Item member format

I resolved this issue by converting my payloads to a Header. I tried all possible options to feed my payload directly to DynamoDB. I'll raise a support ticket and share further updates later.

 

Cheers,

Siva


All Replies
Four Stars

Re: Talend ESB Camel aws-ddb route failes with Item member format

I resolved this issue by converting my payloads to a Header. I tried all possible options to feed my payload directly to DynamoDB. I'll raise a support ticket and share further updates later.

 

Cheers,

Siva

Moderator

Re: Talend ESB Camel aws-ddb route failes with Item member format

Hello,

Thanks for your feedback and we will appreciate it a lot if you can share further updates.

Best regards

Sabrina

--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.

What’s New for Talend Spring ’19

Watch the recorded webinar!

Watch Now

Definitive Guide to Data Quality

Create systems and workflow to manage clean data ingestion and data transformation.

Download

Tutorial

Introduction to Talend Open Studio for Data Integration.

Watch

Downloads and Trials

Test drive Talend's enterprise products.

Downloads