Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.
DynamoDB Stream ComponentAvailable as of Camel 2.7 The DynamoDB Stream component supports receiving messages from Amazon DynamoDB Stream service. Prerequisites You must have a valid Amazon Web Services developer account, and be signed up to use Amazon DynamoDB Streams. More information are available at AWS DynamoDB URI Formataws-ddbstream://table-name[?options] The stream needs to be created prior to it being used. URI Options
Required DynampDBStream component options You have to provide the amazonDynamoDbStreamsClient in the Registry with proxies and relevant credentials configured. Sequence NumbersYou can provide a literal string as the sequence number or provide a bean in the registry. An example of using the bean would be to save your current position in the change feed and restore it on Camel startup. It is an error to provide a sequence number that is greater than the largest sequence number in the describe-streams result, as this will lead to the AWS call returning an HTTP 400. Batch ConsumerThis component implements the Batch Consumer. This allows you for instance to know how many messages exists in this batch and for instance let the Aggregator aggregate this number of messages. UsageAmazonDynamoDBStreamsClient configurationYou will need to create an instance of AmazonDynamoDBStreamsClient and bind it to the registry ClientConfiguration clientConfiguration = new ClientConfiguration(); clientConfiguration.setProxyHost("http://myProxyHost"); clientConfiguration.setProxyPort(8080); Region region = Region.getRegion(Regions.fromName(region)); region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration); // the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain registry.bind("kinesisClient", client); Providing AWS CredentialsIt is recommended that the credentials are obtained by using the DefaultAWSCredentialsProviderChain that is the default when creating a new ClientConfiguration instance, however, a different AWSCredentialsProvider can be specified when calling createClient(...). Coping with DowntimeAWS DynamoDB Streams outage of less than 24 hoursThe consumer will resume from the last seen sequence number (as implemented for CAMEL-9515), so you should receive a flood of events in quick succession, as long as the outage did not also include DynamoDB itself. AWS DynamoDB Streams outage of more than 24 hoursGiven that AWS only retain 24 hours worth of changes, you will have missed change events no matter what mitigations are in place. DependenciesMaven 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 |