This set of extensions allows you to interact with some of the AWS Services namely:
- ACM
- Api Gateway Management Api
- CloudWatch
- CloudWatch Logs
- Cognito User Pools
- DynamoDB / DynamoDB Enhanced
- ECR
- EventBridge
- IAM
- Inspector / Inspector2
- Kinesis
- KMS
- Lambda
- Neptune
- Payment Cryptography / Payment Cryptography Data
- S3
- S3 Transfer Manager
- Secrets Manager
- SES
- SFN
- SNS
- SQS
- SSM
- STS
They also provide a common infrastructure to make it easy to add new ones.
Each extension provides configuration properties to configure the clients and wires everything via CDI injection. It allows to use all 4 HTTP client implementations available in the AWS SDK for Java 2.x :
- URL Connection HTTP client (default for synchronous call)
- Apache HTTP Client
- Netty HTTP client (default for asynchronous call)
- AWS CRT-based HTTP client (for both synchronous and asynchronous client)
Quarkus Amazon Services is a component of the Quarkus Platform. It is recommended to use BOMs from the Quarkus Platform.
<properties>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.version>3.8.0</quarkus.platform.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>${quarkus.platform.artifact-id}</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>quarkus-amazon-services-bom</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Due to differing release schedules, the Quarkus Platform may not include the latest Quarkus Amazon release. If you need specific features from the latest release, you can switch to a specific version of the Quarkus Amazon Services BOM.
<properties>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.version>3.8.0</quarkus.platform.version>
<quarkus-amazon-services.version>2.12.0</quarkus-amazon-services.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${quarkus.platform.group-id}</groupId>
<artifactId>${quarkus.platform.artifact-id}</artifactId>
<version>${quarkus.platform.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.quarkiverse.amazonservices</groupId>
<artifactId>quarkus-amazon-services-bom</artifactId>
<version>${quarkus-amazon-services.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Quarkus Amazon Services provides multiple version streams. One stream is compatible with Quarkus 2.x, while the others are designed to work with Quarkus 3.x and are aligned with Quarkus LTS.
Major version 3 introduces breaking changes (see the release notes) that haven’t yet been included in the Quarkus Platform. Version 2.x and 3.x will remain feature-aligned, except for these breaking changes.
Quarkus | Quarkus Amazon Services | Documentation |
---|---|---|
2.x | 1.6.x | Documentation |
3.15.x (LTS) | 2.18.x (bug fixes only) | Documentation |
>=3.15 | [2.19, 3.0) (platform) | Documentation |
>=3.15 | >=3.0.0 | Documentation |
Use the latest version of the corresponding stream, the list of versions is available on Maven Central.
If you need fixes to be backported on the LTS branch, please open an issue.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!