--- apiVersion: v1 kind: List items: - apiVersion: v1 kind: ConfigMap metadata: labels: funktion.fabric8.io/kind: Connector provider: fabric8 project: connector-aws-sdb version: 1.1.23 group: io.fabric8.funktion.connector name: aws-sdb data: deployment.yml: | --- apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: funktion.fabric8.io/kind: Subscription connector: aws-sdb spec: replicas: 1 template: metadata: labels: funktion.fabric8.io/kind: Subscription connector: aws-sdb spec: containers: - image: fabric8/connector-aws-sdb:1.1.23 name: connector schema.yml: | --- component: kind: component scheme: aws-sdb syntax: aws-sdb:domainName title: AWS SimpleDB description: The aws-sdb component is for storing and retrieving data from/to Amazon's SDB service. label: cloud,database,nosql deprecated: false async: false producerOnly: true javaType: org.apache.camel.component.aws.sdb.SdbComponent groupId: org.apache.camel artifactId: camel-aws version: 2.18.1 componentProperties: {} properties: domainName: kind: path group: producer required: true type: string javaType: java.lang.String deprecated: false secret: false description: The name of the domain currently worked with. accessKey: kind: parameter group: producer type: string javaType: java.lang.String deprecated: false secret: false description: Amazon AWS Access Key amazonSDBClient: kind: parameter group: producer type: object javaType: com.amazonaws.services.simpledb.AmazonSimpleDB deprecated: false secret: false description: To use the AmazonSimpleDB as the client amazonSdbEndpoint: kind: parameter group: producer type: string javaType: java.lang.String deprecated: false secret: false description: The region with which the AWS-SDB client wants to work with. consistentRead: kind: parameter group: producer type: boolean javaType: boolean deprecated: false secret: false defaultValue: false description: Determines whether or not strong consistency should be enforced when data is read. maxNumberOfDomains: kind: parameter group: producer type: integer javaType: java.lang.Integer deprecated: false secret: false description: The maximum number of domain names you want returned. The range is 1 to 100. operation: kind: parameter group: producer type: string javaType: org.apache.camel.component.aws.sdb.SdbOperations enum: - BatchDeleteAttributes - BatchPutAttributes - DeleteAttributes - DeleteDomain - DomainMetadata - GetAttributes - ListDomains - PutAttributes - Select deprecated: false secret: false defaultValue: PutAttributes description: Operation to perform proxyHost: kind: parameter group: producer type: string javaType: java.lang.String deprecated: false secret: false description: To define a proxy host when instantiating the SQS client proxyPort: kind: parameter group: producer type: integer javaType: java.lang.Integer deprecated: false secret: false description: To define a proxy port when instantiating the SQS client secretKey: kind: parameter group: producer type: string javaType: java.lang.String deprecated: false secret: false description: Amazon AWS Secret Key synchronous: kind: parameter group: advanced label: advanced type: boolean javaType: boolean deprecated: false secret: false defaultValue: false description: Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). documentation.adoc: |+ [[AWS-SDB-SDBComponent]] SDB Component ~~~~~~~~~~~~~ *Available as of Camel 2.8.4* The sdb component supports storing and retrieving data from/to http://aws.amazon.com/sdb[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 http://aws.amazon.com/sdb[Amazon SDB]. [[AWS-SDB-URIFormat]] URI Format ^^^^^^^^^^ [source,java] ------------------------------ aws-sdb://domainName[?options] ------------------------------ You can append query options to the URI in the following format, ?options=value&option2=value&... [[AWS-SDB-URIOptions]] URI Options ^^^^^^^^^^^ // component options: START The AWS SimpleDB component has no options. // component options: END // endpoint options: START The AWS SimpleDB component supports 11 endpoint options which are listed below: {% raw %} [width="100%",cols="2,1,1m,1m,5",options="header"] |======================================================================= | Name | Group | Default | Java Type | Description | domainName | producer | | String | *Required* The name of the domain currently worked with. | accessKey | producer | | String | Amazon AWS Access Key | amazonSDBClient | producer | | AmazonSimpleDB | To use the AmazonSimpleDB as the client | amazonSdbEndpoint | producer | | String | The region with which the AWS-SDB client wants to work with. | consistentRead | producer | false | boolean | Determines whether or not strong consistency should be enforced when data is read. | maxNumberOfDomains | producer | | Integer | The maximum number of domain names you want returned. The range is 1 to 100. | operation | producer | PutAttributes | SdbOperations | Operation to perform | proxyHost | producer | | String | To define a proxy host when instantiating the SQS client | proxyPort | producer | | Integer | To define a proxy port when instantiating the SQS client | secretKey | producer | | String | Amazon AWS Secret Key | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported). |======================================================================= {% endraw %} // endpoint options: END Required SDB component options You have to provide the amazonSDBClient in the link:registry.html[Registry] or your accessKey and secretKey to access the http://aws.amazon.com/sdb[Amazon's SDB]. [[AWS-SDB-Usage]] Usage ^^^^^ [[AWS-SDB-MessageheadersevaluatedbytheSDBproducer]] Message headers evaluated by the SDB producer +++++++++++++++++++++++++++++++++++++++++++++ [width="100%",cols="10%,10%,80%",options="header",] |======================================================================= |Header |Type |Description |`CamelAwsSdbAttributes` |`Collection` |List of attributes to be acted upon. |`CamelAwsSdbAttributeNames` |`Collection` |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` |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` |List of attributes to put in an Item. |`CamelAwsSdbReplaceableItems` |`Collection` |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. |======================================================================= [[AWS-SDB-MessageheaderssetduringDomainMetadataoperation]] Message headers set during DomainMetadata operation +++++++++++++++++++++++++++++++++++++++++++++++++++ [width="100%",cols="10%,10%,80%",options="header",] |======================================================================= |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. |======================================================================= [[AWS-SDB-MessageheaderssetduringGetAttributesoperation]] Message headers set during GetAttributes operation ++++++++++++++++++++++++++++++++++++++++++++++++++ [width="100%",cols="10%,10%,80%",options="header",] |======================================================================= |Header |Type |Description |`CamelAwsSdbAttributes` |`List` |The list of attributes returned by the operation. |======================================================================= [[AWS-SDB-MessageheaderssetduringListDomainsoperation]] Message headers set during ListDomains operation ++++++++++++++++++++++++++++++++++++++++++++++++ [width="100%",cols="10%,10%,80%",options="header",] |======================================================================= |Header |Type |Description |`CamelAwsSdbDomainNames` |`List` |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. |======================================================================= [[AWS-SDB-MessageheaderssetduringSelectoperation]] Message headers set during Select operation +++++++++++++++++++++++++++++++++++++++++++ [width="100%",cols="10%,10%,80%",options="header",] |======================================================================= |Header |Type |Description |`CamelAwsSdbItems` |`List` |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. |======================================================================= [[AWS-SDB-AdvancedAmazonSimpleDBconfiguration]] 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: [source,java] ---------------------------------------------------- from("direct:start") .to("aws-sdb://domainName?amazonSDBClient=#client"); ---------------------------------------------------- The `#client` refers to a `AmazonSimpleDB` in the link:registry.html[Registry]. For example if your Camel Application is running behind a firewall: [source,java] -------------------------------------------------------------------------------------- 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); -------------------------------------------------------------------------------------- [[AWS-SDB-Dependencies]] Dependencies ^^^^^^^^^^^^ Maven users will need to add the following dependency to their pom.xml. *pom.xml* [source,xml] --------------------------------------- org.apache.camel camel-aws ${camel-version} --------------------------------------- where `${camel-version`} must be replaced by the actual version of Camel (2.8.4 or higher). [[AWS-SDB-SeeAlso]] See Also ^^^^^^^^ * link:configuring-camel.html[Configuring Camel] * link:component.html[Component] * link:endpoint.html[Endpoint] * link:getting-started.html[Getting Started] * link:aws.html[AWS Component]