This set of extensions allows you to interact with some of the AWS Services namely:
- Access Analyzer
- Account
- ACM
- Api Gateway Management Api
- Bedrock / Bedrock Runtime
- CloudWatch
- CloudWatch Logs
- Cognito User Pools
- DynamoDB / DynamoDB Enhanced
- ECR
- Elastic Load Balancing / Elastic Load Balancing v2
- EventBridge
- EventBridge Scheduler
- IAM
- Inspector / Inspector2
- IoT
- Kinesis
- KMS
- Lambda
- Neptune
- Payment Cryptography / Payment Cryptography Data
- RDS / RDS Data / RDS IAM Authentication Quarkus Credential Provider
- S3
- S3 Transfer Manager
- Secrets Manager
- SES / SES v2
- SFN
- SNS
- SSO
- SSO OIDC
- SQS
- SSM
- STS
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)
This project also provide a common infrastructure based on AWS SDK code generator to make it easy to add new ones.
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.
Quarkus | Quarkus Amazon Services | Documentation |
---|---|---|
2.x | 1.6.x | Documentation |
3.15.x (LTS) | 2.18.x (bug fixes only) | Documentation |
[3.15, 3.20) | [2.19, 3.0) (platform) | Documentation |
3.20 (LTS) | 3.3.x (bug fixes only) | Documentation |
>=3.20 | >=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!