quarkus-amazon-services
quarkus-amazon-services copied to clipboard
Quarkus Amazon Services extensions
Quarkus Amazon Services
Introduction
This set of extensions allows you to interact with some of the AWS Services namely:
- Cognito User Pools
- DynamoDB / DynamoDB Enhanced
- EventBridge
- IAM
- Inspector / Inspector2
- Kinesis
- KMS
- Lambda
- S3
- 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)
Compatibility with Quarkus Core
Quarkus Amazon Services is a component of the Quarkus Platform. If you do not require specific features from the latest release, 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>
Alternatively, you can switch to using 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.2.x (LTS) | 2.4.x | Documentation |
| 3.8.x (LTS) | 2.12.x | Documentation |
| >=3.x | >=2.5 | Documentation |
Use the latest version of the corresponding stream, the list of versions is available on Maven Central.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!