Hello folks, I have tried to use the AWS Camel Component for DynamoDB as discussed here:http://camel.apache.org/aws-ddb.html... I am following the snippet of code in the MOCK Services testing area, as listed here: https://github.com/apache/camel/blob/master/components/camel-aws/src/test/java/org/apache/camel/component/aws/ddb/integration/DdbComponentIntegrationTest.java
I see in the example that you are meant to replace the Access Key and Secret Key, but otherwise the example should be ok?? However, I received the following error (and this was after I added the readCapacity and writeCapacity variables: /*org.apache.camel.ResolveEndpointFailedException: Failed to resolve endpoint: aws-ddb://table?amazonDDBClient=%23ddbClient&amazonDdbEndpoint=ap-southeast-2&readCapacity=10&writeCapacity=10 due to: Status Code: 400, AWS Service: AmazonDynamoDB, AWS Request ID: KHA79STK78SHC2BG2R8HLPF7RJVV4KQNSO5AEMVJF66Q9ASUAAJG, AWS Error Code: ValidationException, AWS Error Message: 2 validation errors detected: Value null at 'keySchema.hashKeyElement.attributeName' failed to satisfy constraint: Member must not be null; Value null at 'keySchema.hashKeyElement.attributeType' failed to satisfy constraint: Member must not be null*/ How do you add the keySchema to the URI? I note that it needs to be of type KeySchema? I have tried the following: //** * Send the array map to the DynamoDB routes. * * @param route The route to send it to. * @param exchange The MSG Exchange. * @param producer The Producer template to use. * @param attributeMap The Attribute Map to send off to DyanamoDB. */ private void sendMessage(String route, Exchange exchange, final Map<String, AttributeValue> attributeMap, final Integer id) { Exchange exchange2 = producer.send(route, new Processor() { public void process(Exchange exchange) throws Exception { exchange.getIn().setHeader(DdbConstants.OPERATION, DdbOperations.PutItem); exchange.getIn().setHeader(DdbConstants.RETURN_VALUES, "ALL_OLD"); exchange.getIn().setHeader(DdbConstants.ITEM, attributeMap); exchange.getIn().setHeader(DdbConstants.KEY, id); ArrayList<KeySchemaElement> tableKeySchema = new ArrayList<KeySchemaElement>(); tableKeySchema.add(new KeySchemaElement().withAttributeName("id").withKeyType(KeyType.HASH)); exchange.getIn().setHeader(DdbConstants.KEY_SCHEMA, tableKeySchema.get(0).); } }); System.out.println("LIST: " + exchange2.getIn().getHeader(DdbConstants.ITEMS, List.class)); }/ But it doesn't work... Any ideas or thoughts to progress? -- View this message in context: http://camel.465427.n5.nabble.com/AWS-CAMEL-DynamoDB-Please-Help-tp5748581.html Sent from the Camel - Users mailing list archive at Nabble.com.