Table of Contents
Available as of Camel 2.8.4
The sdb component supports storing and retrieving data from/to Amazon’s SDB service.
Prerequisites
You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SDB. More information are available at Amazon SDB.
aws-sdb://domainName[?options]
You can append query options to the URI in the following format, ?options=value&option2=value&…
The AWS SimpleDB component has no options.
The AWS SimpleDB component supports 11 endpoint options which are listed below:
{% raw %}
| Name | Group | Default | Java Type | Description |
|---|---|---|---|---|
domainName | producer |
| Required The name of the domain currently worked with. | |
accessKey | producer |
| Amazon AWS Access Key | |
amazonSDBClient | producer |
| To use the AmazonSimpleDB as the client | |
amazonSdbEndpoint | producer |
| The region with which the AWS-SDB client wants to work with. | |
consistentRead | producer |
|
| Determines whether or not strong consistency should be enforced when data is read. |
maxNumberOfDomains | producer |
| The maximum number of domain names you want returned. The range is 1 to 100. | |
operation | producer |
|
| Operation to perform |
proxyHost | producer |
| To define a proxy host when instantiating the SQS client | |
proxyPort | producer |
| To define a proxy port when instantiating the SQS client | |
secretKey | producer |
| Amazon AWS Secret Key | |
synchronous | advanced |
|
| Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). |
{% endraw %}
Required SDB component options
You have to provide the amazonSDBClient in the Registry or your accessKey and secretKey to access the Amazon’s SDB.
Table of Contents
| Header | Type | Description |
|---|---|---|
|
| List of attributes to be acted upon. |
|
| The names of the attributes to be retrieved. |
|
| Determines whether or not strong consistency should be enforced when data is read. |
|
| A list of items on which to perform the delete operation in a batch. |
|
| The name of the domain currently worked with. |
|
| The unique key for this item |
|
| The maximum number of domain names you want returned. The range is 1 * to 100. |
|
| A string specifying where to start the next list of domain/item names. |
|
| To override the operation from the URI options. |
|
| List of attributes to put in an Item. |
|
| A list of items to put in a Domain. |
|
| The expression used to query the domain. |
|
| The update condition which, if specified, determines whether the specified attributes will be updated/deleted or not. |
| Header | Type | Description |
|---|---|---|
|
| The data and time when metadata was calculated, in Epoch (UNIX) seconds. |
|
| The number of all items in the domain. |
|
| The number of unique attribute names in the domain. |
|
| The number of all attribute name/value pairs in the domain. |
|
| The total size of all unique attribute names in the domain, in bytes. |
|
| The total size of all attribute values in the domain, in bytes. |
|
| The total size of all item names in the domain, in bytes. |
| Header | Type | Description |
|---|---|---|
|
| The list of attributes returned by the operation. |
| Header | Type | Description |
|---|---|---|
|
| A list of domain names that match the expression. |
|
| An opaque token indicating that there are more domains than the specified MaxNumberOfDomains still available. |
| Header | Type | Description |
|---|---|---|
|
| A list of items that match the select expression. |
|
| An opaque token indicating that more items than MaxNumberOfItems were matched, the response size exceeded 1 megabyte, or the execution time exceeded 5 seconds. |
If you need more control over the AmazonSimpleDB instance
configuration you can create your own instance and refer to it from the
URI:
from("direct:start")
.to("aws-sdb://domainName?amazonSDBClient=#client");The #client refers to a AmazonSimpleDB 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);
AmazonSimpleDB client = new AmazonSimpleDBClient(awsCredentials, clientConfiguration);
registry.bind("client", client);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.8.4 or higher).