...
Info | ||
---|---|---|
| ||
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
Code Block |
---|
aws-ddb://domainNametableName[?options] |
You can append query options to the URI in the following format, : ?options=value&option2=value&...
URI Options
Name | Default Value | Context | Description |
---|---|---|---|
|
| Producer | Reference to a |
|
| Producer | Amazon AWS Access Key. |
|
| Producer | Amazon AWS Secret Key. |
|
| Producer | The region with which the AWS-DDB client wants to work with. |
|
| Producer | The name of the table currently worked with. |
|
| Producer | The provisioned throughput to reserve for reading resources from your table |
|
| Producer | The provisioned throughput to reserved for writing resources to your table |
|
| Producer | Determines whether or not strong consistency should be enforced when data is read. |
|
| Producer | Valid values are:
|
|
| Producer | Camel 2.16: Specify a proxy host to be used inside the client definition. |
|
| Producer | Camel 2.16: Specify a proxy port to be used inside the client definition, UpdateTable. |
Info | ||
---|---|---|
| ||
You have to provide the the |
...
Message headers evaluated by the DDB producer
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbBatchItems}} | {{Map<String, KeysAndAttributes>}} | A map of the table name and corresponding items to get by primary key. |
| {{CamelAwsDdbTableName}} | {{String}} | Table Name for this operation. |
| {{CamelAwsDdbKey}} | {{Key}} | The primary key that uniquely identifies each item in a table. |
| {{CamelAwsDdbReturnValues}} | {{String}} | Use this parameter if you want to get the attribute name-value pairs before or after they are modified(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW). |
| {{CamelAwsDdbUpdateCondition}} | {{Map<String, ExpectedAttributeValue>}} | Designates an attribute for a conditional modification. |
| {{CamelAwsDdbAttributeNames}} | {{Collection<String>}} | If attribute names are not specified then all attributes will be returned. |
| {{CamelAwsDdbConsistentRead}} | {{Boolean}} | If set to true, then a consistent read is issued, otherwise eventually consistent is used. |
| {{CamelAwsDdbItem}} | {{Map<String, AttributeValue>}} | A map of the attributes for the item, and must include the primary key values that define the item. |
| {{CamelAwsDdbExactCount}} | {{Boolean}} | If set to true, Amazon DynamoDB returns a total number of items that match the query parameters, instead of a list of the matching items and their attributes. |
| {{CamelAwsDdbStartKey}} | {{Key}} | Primary key of the item from which to continue an earlier query. |
| {{CamelAwsDdbHashKeyValue}} | {{AttributeValue}} | Value of the hash component of the composite primary key. |
| {{CamelAwsDdbLimit}} | {{Integer}} | The maximum number of items to return. |
| {{CamelAwsDdbScanRangeKeyCondition}} | {{Condition}} | A container for the attribute values and comparison operators to use for the query. |
| {{CamelAwsDdbScanIndexForward}} | {{Boolean}} | Specifies forward or backward traversal of the index. |
| {{CamelAwsDdbScanFilter}} | {{Map<String, Condition>}} | Evaluates the scan results and returns only the desired values. |
| {{CamelAwsDdbUpdateValues}} | {{Map<String, AttributeValueUpdate>}} | Map of attribute name to the new value and action for the update. |
{div} |
Message headers set during BatchGetItems operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbBatchResponse}} | {{Map<String,BatchResponse>}} | Table names and the respective item attributes from the tables. |
| {{CamelAwsDdbUnprocessedKeys}} | {{Map<String,KeysAndAttributes>}} | Contains a map of tables and their respective keys that were not processed with the current response. |
{div} |
Message headers set during DeleteItem operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbAttributes}} | {{Map<String, AttributeValue>}} | The list of attributes returned by the operation. |
{div} |
Message headers set during DeleteTable operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbProvisionedThroughput}} | {{ProvisionedThroughputDescription}} | The value of the ProvisionedThroughput property for this table |
| {{CamelAwsDdbCreationDate}} | {{Date}} | Creation DateTime of this table. |
| {{CamelAwsDdbTableItemCount}} | {{Long}} | Item count for this table. |
| {{CamelAwsDdbKeySchema}} | {{KeySchema}} | The KeySchema that identifies the primary key for this table. |
| {{CamelAwsDdbTableName}} | {{String}} | The table name. |
| {{CamelAwsDdbTableSize}} | {{Long}} | The table size in bytes. |
| {{CamelAwsDdbTableStatus}} | {{String}} | The status of the table: CREATING, UPDATING, DELETING, ACTIVE |
{div} |
Message headers set during DescribeTable operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbProvisionedThroughput}} | {{ProvisionedThroughputDescription} | The value of the ProvisionedThroughput property for this table |
| {{CamelAwsDdbCreationDate}} | {{Date}} | Creation DateTime of this table. |
| {{CamelAwsDdbTableItemCount}} | {{Long}} | Item count for this table. |
| {{CamelAwsDdbKeySchema}} | {{KeySchema | The KeySchema that identifies the primary key for this table. |
| {{CamelAwsDdbTableName}} | {{String}} | The table name. |
| {{CamelAwsDdbTableSize}} | {{Long}} | The table size in bytes. |
| {{CamelAwsDdbTableStatus}} | {{String}} | The status of the table: CREATING, UPDATING, DELETING, ACTIVE |
| {{CamelAwsDdbReadCapacity}} | {{Long}} | ReadCapacityUnits property of this table. |
| {{CamelAwsDdbWriteCapacity}} | {{Long}} | WriteCapacityUnits property of this table. |
{div} |
Message headers set during GetItem operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbAttributes}} | {{Map<String, AttributeValue>}} | The list of attributes returned by the operation. |
{div} |
Message headers set during PutItem operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbAttributes}} | {{Map<String, AttributeValue>}} | The list of attributes returned by the operation. |
{div} |
Message headers set during Query operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbItems}} | {{List<java.util.Map<String,AttributeValue>>}} | The list of attributes returned by the operation. |
| {{CamelAwsDdbLastEvaluatedKey}} | {{Key}} | Primary key of the item where the query operation stopped, inclusive of the previous result set. |
| {{CamelAwsDdbConsumedCapacity}} | {{Double}} | The number of Capacity Units of the provisioned throughput of the table consumed during the operation. |
| {{CamelAwsDdbCount}} | {{Integer}} | Number of items in the response. |
{div} |
Message headers set during Scan operation
Wiki Markup |
---|
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbItems}} | {{List<java.util.Map<String,AttributeValue>>}} | The list of attributes returned by the operation. |
| {{CamelAwsDdbLastEvaluatedKey}} | {{Key}} | Primary key of the item where the query operation stopped, inclusive of the previous result set. |
| {{CamelAwsDdbConsumedCapacity}} | {{Double}} | The number of Capacity Units of the provisioned throughput of the table consumed during the operation. |
| {{CamelAwsDdbCount}} | {{Integer}} | Number of items in the response. |
| {{CamelAwsDdbScannedCount}} | {{Integer}} | Number of items in the complete scan before any filters are applied. |
{div} |
Message headers set during UpdateItem operation
Div | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Message headers set during BatchGetItems operation
Div | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Message headers set during DeleteItem operation
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Message headers set during DeleteTable operation
Div | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||
|
Message headers set during DescribeTable operation
Div | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
|
Message headers set during GetItem operation
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Message headers set during PutItem operation
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Message headers set during Query operation
Div | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|
Message headers set during Scan operation
Div | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Message headers set during UpdateItem operation
Div | ||||||
---|---|---|---|---|---|---|
| ||||||
| ||||||
Wiki Markup | ||||||
{div:class=confluenceTableSmall}
|| Header || Type || Description ||
| {{CamelAwsDdbAttributes}} | {{Map<String, AttributeValue>}} | The list of attributes returned by the operation. |
{div} |
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:
Code Block |
---|
from("direct:start") .to("aws-ddb://domainNametableName?amazonDDBClient=#client"); |
The #client
refers to a AmazonDynamoDB
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);
AmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfiguration);
registry.bind("client", client);
|
...
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.10 or higher).
Include Page | ||||
---|---|---|---|---|
|