THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Wiki Markup |
---|
h2. SNS Component *Available as of Camel 2.8* The SNS component allows messages to be sent to an [Amazon Simple Notification|http://aws.amazon.com/sns] Topic. The implementation of the Amazon API is provided by the [AWS SDK|http://aws.amazon.com/sdkforjava/]. {info:title=Prerequisites} You must have a valid Amazon Web Services developer account, and be signed up to use Amazon SNS. More information are available at [Amazon SNS|http://aws.amazon.com/sns]. {info} h3. URI Format {code} aws-sns://topicName[?options] {code} The topic will be created if they don't already exists. You can append query options to the URI in the following format, {{?options=value&option2=value&...}} h3. URI Options || Name || Default Value || Context || Description || |amazonSNSClient | {{null}} | Producer | Reference to a {{com.amazonaws.services.sns.AmazonSNS}} in the [Registry]. | |accessKey | {{null}} | Producer | Amazon AWS Access Key | |secretKey | {{null}} | Producer | Amazon AWS Secret Key | |subject | {{null}} | Producer | The subject which is used if the message header 'CamelAwsSnsSubject' is not present. | |amazonSNSEndpoint | {{null}} | Producer | The region with which the AWS-SNS client wants to work with. | |policy | {{null}} | Producer | *Camel 2.8.4*: The policy for this queue to set in the {{com.amazonaws.services.sns.model.SetTopicAttributesRequest}}. | {info:title=Required SNS component options} You have to provide the amazonSNSClient in the [Registry] or your accessKey and secretKey to access the [Amazon's SNS|http://aws.amazon.com/sns]. {info} h3. Usage h4. Message headers evaluated by the SNS producer {div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelAwsSnsSubject}} | {{String}} | The Amazon SNS message subject. If not set, the subject from the {{SnsConfiguration}} is used. | {div} h4. Message headers set by the SNS producer {div:class=confluenceTableSmall} || Header || Type || Description || | {{CamelAwsSnsMessageId}} | {{String}} | The Amazon SNS message ID. | {div} h4. Advanced AmazonSNSClientAmazonSNS configuration If you need more control over the {{AmazonSNS}} instance configuration you can create your own instance and refer to it from the URI: {code} from("direct:start") .to("aws-sns://MyTopic?amazonSNSClient=#client"); {code} The {{#client}} refers to a {{AmazonSNS}} in the [Registry]. For example if your Camel Application is running behind a firewall: {code} AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey"); ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setProxyHost("http://myProxyHost"); clientConfiguration.setProxyPort(8080); AmazonSNS client = new AmazonSNSClient(awsCredentials, clientConfiguration); registry.bind("client", client); {code} h3. Dependencies Maven users will need to add the following dependency to their pom.xml. {code:xml|title=pom.xml} <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-aws</artifactId> <version>${camel-version}</version> </dependency> {code} where {{$\{camel-version\}}} must be replaced by the actual version of Camel (2.8 or higher). {include:Endpoint See Also} - [AWS Component|AWS] |