// Do not edit directly!
// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
= AWS 2 S3 Storage Service
:page-aliases: extensions/aws2-s3.adoc
:linkattrs:
:cq-artifact-id: camel-quarkus-aws2-s3
:cq-native-supported: true
:cq-status: Stable
:cq-status-deprecation: Stable
:cq-description: Store and retrieve objects from AWS S3 Storage Service using AWS SDK version 2.x.
:cq-deprecated: false
:cq-jvm-since: 1.0.0
:cq-native-since: 1.0.0

[.badges]
[.badge-key]##JVM since##[.badge-supported]##1.0.0## [.badge-key]##Native since##[.badge-supported]##1.0.0##

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

== What's inside

* xref:{cq-camel-components}::aws2-s3-component.adoc[AWS S3 Storage Service component], URI syntax: `aws2-s3://bucketNameOrArn`

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

== Maven coordinates

https://code.quarkus.io/?extension-search=camel-quarkus-aws2-s3[Create a new project with this extension on code.quarkus.io, window="_blank"]

Or add the coordinates to your existing project:

[source,xml]
----
<dependency>
    <groupId>org.apache.camel.quarkus</groupId>
    <artifactId>camel-quarkus-aws2-s3</artifactId>
</dependency>
----

Check the xref:user-guide/index.adoc[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
https://quarkus.io/guides/native-and-ssl[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 optional and not at all mandatory.
Follow the https://quarkus.io/guides/amazon-s3#configuring-s3-clients[documentation] with some caveats.

1. The Apache client type has to be selected by configuring the following property.
+
[source,properties]
----
quarkus.s3.sync-client.type=apache
----

2. The `S3Client` has to be injected somewhere in the application. This triggers its creation so that the Camel component can discover it.
+
[source,java]
----
import software.amazon.awssdk.services.s3.S3Client;

@Inject
S3Client s3Client;
----

