Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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
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
Hello,
Thanks for your feedback and we will appreciate it a lot if you can share further updates.
Best regards
Sabrina