SDB Component
Available as of Camel 2.8.4
The sdb component supports storing and retrieving data from/to Amazon's SDB service.
Info | ||
---|---|---|
| ||
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. |
URI Format
Code Block |
---|
aws-sdb://domainName[?options] |
You can append query options to the URI in the following format, ?options=value&option2=value&...
URI Options
Name | Default Value | Context | Description |
---|---|---|---|
amazonSDBClient | | Producer | Reference to a |
accessKey | | Producer | Amazon AWS Access Key |
secretKey | | Producer | Amazon AWS Secret Key |
amazonSdbEndpoint | | Producer | The region with which the AWS-SDB client wants to work with. |
domainName | | Producer | The name of the domain currently worked with. |
maxNumberOfDomains | | Producer | The maximum number of domain names you want returned. The range is 1 * to 100. |
consistentRead | | Producer | Determines whether or not strong consistency should be enforced when data is read. |
operation | | Producer | Valid values are BatchDeleteAttributes, BatchPutAttributes, DeleteAttributes, DeleteDomain, DomainMetadata, GetAttributes, ListDomains, PutAttributes, Select. |
Info | ||
---|---|---|
| ||
You have to provide the amazonSDBClient in the Registry or your accessKey and secretKey to access the Amazon's SDB. |
Usage
Message headers evaluated by the SDB producer
Wiki Markup |
---|
{div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelAwsSdbAttributes}} | {{Collection<Attribute>}} | List of attributes to be acted upon. | | {{CamelAwsSdbAttributeNames}} | {{Collection<String>}} | The names of the attributes to be retrieved. | | {{CamelAwsSdbConsistentRead}} | {{Boolean}} | Determines whether or not strong consistency should be enforced when data is read. | | {{CamelAwsSdbDeletableItems}} | {{Collection<DeletableItem>}} | A list of items on which to perform the delete operation in a batch. | | {{CamelAwsSdbDomainName}} | {{String}} | The name of the domain currently worked with. | | {{CamelAwsSdbItemName}} | {{String}} | The unique key for this item | | {{CamelAwsSdbMaxNumberOfDomains}} | {{Integer}} | The maximum number of domain names you want returned. The range is 1 * to 100. | | {{CamelAwsSdbNextToken}} | {{String}} | A string specifying where to start the next list of domain/item names. | | {{CamelAwsSdbOperation}} | {{String}} | To override the operation from the URI options. | | {{CamelAwsSdbReplaceableAttributes}} | {{Collection<ReplaceableAttribute>}} | List of attributes to put in an Item. | | {{CamelAwsSdbReplaceableItems}} | {{Collection<ReplaceableItem>}} | A list of items to put in a Domain. | | {{CamelAwsSdbSelectExpression}} | {{String}} | The expression used to query the domain. | | {{CamelAwsSdbUpdateCondition}} | {{UpdateCondition}} | The update condition which, if specified, determines whether the specified attributes will be updated/deleted or not. | {div} |
Message headers set during DomainMetadata operation
Wiki Markup |
---|
{div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelAwsSdbTimestamp}} | {{Integer}} | The data and time when metadata was calculated, in Epoch (UNIX) seconds. | | {{CamelAwsSdbItemCount}} | {{Integer}} | The number of all items in the domain. | | {{CamelAwsSdbAttributeNameCount}} | {{Integer}} | The number of unique attribute names in the domain. | | {{CamelAwsSdbAttributeValueCount}} | {{Integer}} | The number of all attribute name/value pairs in the domain. | | {{CamelAwsSdbAttributeNameSize}} | {{Long}} | The total size of all unique attribute names in the domain, in bytes. | | {{CamelAwsSdbAttributeValueSize}} | {{Long}} | The total size of all attribute values in the domain, in bytes. | | {{CamelAwsSdbItemNameSize}} | {{Long}} | The total size of all item names in the domain, in bytes. | {div} |
Message headers set during GetAttributes operation
Wiki Markup |
---|
{div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelAwsSdbAttributes}} | {{List<Attribute>}} | The list of attributes returned by the operation. | {div} |
Message headers set during ListDomains operation
Wiki Markup |
---|
{div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelAwsSdbDomainNames}} | {{List<String>}} | A list of domain names that match the expression. | | {{CamelAwsSdbNextToken}} | {{String}} | An opaque token indicating that there are more domains than the specified MaxNumberOfDomains still available. | {div} |
Message headers set during Select operation
Wiki Markup |
---|
{div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelAwsSdbItems}} | {{List<Item>}} | A list of items that match the select expression. | | {{CamelAwsSdbNextToken}} | {{String}} | An opaque token indicating that more items than MaxNumberOfItems were matched, the response size exceeded 1 megabyte, or the execution time exceeded 5 seconds. | {div} |
Advanced AmazonSimpleDB configuration
If you need more control over the AmazonSimpleDB
instance configuration you can create your own instance and refer to it from the URI:
Code Block |
---|
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:
Code Block |
---|
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); |
Dependencies
Maven users will need to add the following dependency to their pom.xml.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<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).
Include Page | ||||
---|---|---|---|---|
|