Skip to content

Latest commit

 

History

History
178 lines (155 loc) · 17 KB

README.md

File metadata and controls

178 lines (155 loc) · 17 KB

Quarkus Amazon Services

All Contributors

Version

Introduction

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)

Compatibility with Quarkus Core

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.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Marcin Czeczko
Marcin Czeczko

💻 🚧
Guillaume Smet
Guillaume Smet

💻 🚧
Corentin Arnaud
Corentin Arnaud

💻
Andrea Cosentino
Andrea Cosentino

💻
Erik Mattheis
Erik Mattheis

💻
Falko Modler
Falko Modler

💻
Stuart Douglas
Stuart Douglas

💻
Kevin Wooten
Kevin Wooten

💻
Fedorenko Dmitrij
Fedorenko Dmitrij

💻
Sébastien CROCQUESEL
Sébastien CROCQUESEL

💻 🚧
Michael Hamburger
Michael Hamburger

💻
Nithanim
Nithanim

💻
Pavel
Pavel

💻
dagrammy
dagrammy

💻
Ashish Ranjan
Ashish Ranjan

💻
thiko
thiko

💻
Cedric Thiebault
Cedric Thiebault

💻
Kris-Gerhard
Kris-Gerhard

💻
Arnaud Bailly
Arnaud Bailly

💻
Ivan Milosavljević
Ivan Milosavljević

📖
Triphon Penakov
Triphon Penakov

💻
Ryan Dens
Ryan Dens

🤔
Bas Hovestad
Bas Hovestad

💻
André Zimmermann
André Zimmermann

💻
Louie壮真UwUr_柔
Louie壮真UwUr_柔

📖
javaduke
javaduke

💻
holomekc
holomekc

💻
Bruno Castro
Bruno Castro

💻
Sauli Ketola
Sauli Ketola

💻
Ozan Gunalp
Ozan Gunalp

💻
adampoplawski
adampoplawski

💻

This project follows the all-contributors specification. Contributions of any kind welcome!