AWS 2 S3 Storage Service

JVM since1.0.0 Native since1.0.0

Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.

What’s inside

Please refer to the above link 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-s3</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 S3

If desired, it is possible to use the Quarkus Amazon S3 Client extension in conjunction with Camel Quarkus AWS2 S3. Note that this is fully optional and not at all mandatory. Follow the Quarkus documentation with some caveats.

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

    quarkus.s3.sync-client.type=apache
  2. The S3Client has to be "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 S3Client:

    import javax.enterprise.context.ApplicationScoped;
    import io.quarkus.arc.Unremovable;
    import software.amazon.awssdk.services.s3.S3Client;
    
    @ApplicationScoped
    @Unremovable
    class UnremovableS3Client {
        @Inject
        S3Client s3Client;
    }