Child pages
  • AWS-DDB
Skip to end of metadata
Go to start of metadata

DDB Component

Available as of Camel 2.10

The DynamoDB component supports storing and retrieving data from/to Amazon's DynamoDB service.

Prerequisites

You must have a valid Amazon Web Services developer account, and be signed up to use Amazon DynamoDB. More information are available at Amazon DynamoDB.

URI Format

aws-ddb://tableName[?options]

You can append query options to the URI in the following format: ?options=value&option2=value&...

URI Options

Name

Default Value

Context

Description

amazonDDBClient

null

Producer

Reference to a com.amazonaws.services.dynamodb.AmazonDynamoDB in the Registry.

accessKey

null

Producer

Amazon AWS Access Key.

secretKey

null

Producer

Amazon AWS Secret Key.

amazonDdbEndpoint

null

Producer

The region with which the AWS-DDB client wants to work with.

tableName

null

Producer

The name of the table currently worked with.

readCapacity

0

Producer

The provisioned throughput to reserve for reading resources from your table

writeCapacity

0

Producer

The provisioned throughput to reserved for writing resources to your table

consistentRead

false

Producer

Determines whether or not strong consistency should be enforced when data is read.

operation

PutAttributes

Producer

Valid values are:

  • BatchGetItems
  • DeleteItem
  • DeleteTable
  • DescribeTable
  • GetItem
  • PutItem
  • Query
  • Scan
  • UpdateItem
  • UpdateTable

proxyHost

null

Producer

Camel 2.16: Specify a proxy host to be used inside the client definition.

proxyPort

null

Producer

Camel 2.16: Specify a proxy port to be used inside the client definition.

Required DDB component options

You have to provide the amazonDDBClient in the Registry or your accessKey and secretKey to access the Amazon's DynamoDB.

Usage

Message headers evaluated by the DDB producer

Message headers set during BatchGetItems operation

Message headers set during DeleteItem operation

Message headers set during DeleteTable operation

Message headers set during DescribeTable operation

Message headers set during GetItem operation

Message headers set during PutItem operation

Message headers set during Query operation

Message headers set during Scan operation

Message headers set during UpdateItem operation

Advanced AmazonDynamoDB configuration

If you need more control over the AmazonDynamoDB instance configuration you can create your own instance and refer to it from the URI:

from("direct:start")
  .to("aws-ddb://tableName?amazonDDBClient=#client");

The #client refers to a AmazonDynamoDB in the Registry.

For example if your Camel Application is running behind a firewall:

AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
ClientConfiguration clientConfiguration = new ClientConfiguration();
clientConfiguration.setProxyHost("http://myProxyHost");
clientConfiguration.setProxyPort(8080);

AmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfiguration);

registry.bind("client", client);

Dependencies

Maven users will need to add the following dependency to their pom.xml.

pom.xml
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-aws</artifactId>
    <version>${camel-version}</version>
</dependency>

where ${camel-version} must be replaced by the actual version of Camel (2.10 or higher).

  • No labels

0 Comments