AWS 2 DynamoDB

JVM since1.0.0 Native since1.0.0

Store and retrieve data from AWS DynamoDB service or receive messages from AWS DynamoDB Stream using AWS SDK version 2.x.

What’s inside

Please refer to the above links for usage and configuration details.

Maven coordinates

Or add the coordinates to your existing project:

<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-ddb</artifactId>
</dependency>

Check the User guide for more information about writing Camel Quarkus applications.

SSL in native mode

This extension auto-enables SSL support in native mode. Hence you do not need to add quarkus.ssl.native=true to your application.properties yourself. See also Quarkus SSL guide.

Additional Camel Quarkus configuration

Optional integration with Quarkus Amazon DynamoDB

If desired, it is possible to use the Quarkus Amazon DynamoDB extension in conjunction with Camel Quarkus AWS 2 DynamoDB. Note that this is fully optional and not mandatory at all. Please follow the Quarkus documentation but beware of the following caveats:

  1. The client type apache has to be selected by configuring the following property:

    quarkus.dynamodb.sync-client.type=apache
  2. The DynamoDbClient has to be made "unremovable" in the sense of Quarkus CDI reference so that Camel Quarkus is able to look it up at runtime. You can reach that e.g. by adding a dummy bean injecting DynamoDbClient:

    import jakarta.enterprise.context.ApplicationScoped;
    import io.quarkus.arc.Unremovable;
    import software.amazon.awssdk.services.dynamodb.DynamoDbClient;
    
    @ApplicationScoped
    @Unremovable
    class UnremovableDynamoDbClient {
        @Inject
        DynamoDbClient dynamoDbClient;
    }