Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

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

Labels (6)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

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

View solution in original post

2 Replies
Anonymous
Not applicable
Author

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

Anonymous
Not applicable
Author

Hello,

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

Best regards

Sabrina