Awesome Open Source
Awesome Open Source

AWS SDK for Java 2.0

Build Status Maven Gitter codecov

All Contributors

The AWS SDK for Java 2.0 is a rewrite of 1.0 with some great new features. As with version 1.0, it enables you to easily work with Amazon Web Services but also includes features like non-blocking IO and pluggable HTTP implementation to further customize your applications. You can get started in minutes using Maven or any build system that supports MavenCentral as an artifact source.

Getting Started

Sign up for AWS

Before you begin, you need an AWS account. Please see the Sign Up for AWS section of the developer guide for information about how to create an AWS account and retrieve your AWS credentials.

Minimum requirements

To run the SDK you will need Java 1.8+. For more information about the requirements and optimum settings for the SDK, please see the Installing a Java Development Environment section of the developer guide.

Using the SDK

The recommended way to use the AWS SDK for Java in your project is to consume it from Maven Central.

Importing the BOM

To automatically manage module versions (currently all modules have the same version, but this may not always be the case) we recommend you use the Bill of Materials import as follows:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>bom</artifactId>
      <version>2.19.24</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Then individual models may omit the version from their dependency statement:

<dependencies>
  <dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>ec2</artifactId>
  </dependency>
  <dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>s3</artifactId>
  </dependency>
  <dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>dynamodb</artifactId>
  </dependency>
</dependencies>

Individual Services

Alternatively you can add dependencies for the specific services you use only:

<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>ec2</artifactId>
  <version>2.19.24</version>
</dependency>
<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>s3</artifactId>
  <version>2.19.24</version>
</dependency>

Whole SDK

You can import the whole SDK into your project (includes ALL services). Please note that it is recommended to only import the modules you need.

<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>aws-sdk-java</artifactId>
  <version>2.19.24</version>
</dependency>

See the Set up the AWS SDK for Java section of the developer guide for more usage information.

New Features for 2.0

  • Provides a way to plug in your own HTTP implementation.

  • Provides first class support for non-blocking IO in Async clients.

Building From Source

Once you check out the code from GitHub, you can build it using the following commands.

Linux:

./mvnw clean install

# Skip tests, checkstyles, findbugs, etc for quick build
./mvnw clean install -P quick

# Build a specific service module
./mvnw clean install -pl :s3 -P quick --am

Windows:

./mvnw.cmd clean install

Sample Code

You can find sample code for v2 in the following places:

Maintenance and Support for SDK Major Versions

For information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Reference Guide:

Maintenance and Support for Java Versions

We maintain full support on Long-Term Support(LTS) releases: Java 8, Java 11, and Java 17.

Giving Feedback

We need your help in making this SDK great. Please participate in the community and contribute to this effort by submitting issues, participating in discussion forums and submitting pull requests through the following channels:

  • Submit issues - this is the preferred channel to interact with our team
  • Articulate your feature request or upvote existing ones on our Issues page
  • Send feedback directly to the team at [email protected]
  • Come join the AWS Java community chat on Gitter

Contributors ✨

Thanks goes to these wonderful people (emoji key):

sullis
sullis

💻
Austin Brooks
Austin Brooks

💻
Konrad `ktoso` Malawski
Konrad `ktoso` Malawski

💻
Andrew Hopkins
Andrew Hopkins

💻
Adam Thomas
Adam Thomas

💻
Steven Swor
Steven Swor

💻
Carey Burgess
Carey Burgess

💻
Anuraag Agrawal
Anuraag Agrawal

💻
jeffalder
jeffalder

💻
Boris
Boris

💻
Guillaume Corré
Guillaume Corré

💻
Henri Yandell
Henri Yandell

💻
Ryan Schmitt
Ryan Schmitt

💻
Somaya
Somaya

💻
Steven Aerts
Steven Aerts

💻
Steven Wong
Steven Wong

💻
Tomasz Elendt
Tomasz Elendt

💻
Will Erickson
Will Erickson

💻
Julien Hoarau
Julien Hoarau

💻
SEOKHYOENCHOI
SEOKHYOENCHOI

💻
adriannistor
adriannistor

💻
Xian Sun
Xian Sun

💻
Andreas Scheja
Andreas Scheja

💻
Anton Egorov
Anton Egorov

💻
roexber
roexber

💻
brharrington
brharrington

💻
Christopher Radek
Christopher Radek

💻
Foivos
Foivos

💻
Frank Wesemann
Frank Wesemann

💻
Gergely Varga
Gergely Varga

💻
Guillermo
Guillermo

💻
Henry Heikkinen
Henry Heikkinen

💻
Jochen Schalanda
Jochen Schalanda

💻
Joe Barnett
Joe Barnett

💻
Kazuhiro Sera
Kazuhiro Sera

💻
Krishna Chaithanya Ganta
Krishna Chaithanya Ganta

💻
Lee Packham
Lee Packham

💻
Matteo Carrara
Matteo Carrara

💻
Michael Scharp
Michael Scharp

💻
Miguel Jimenez
Miguel Jimenez

💻
Russell Bolles
Russell Bolles

💻
Russell Scheerer
Russell Scheerer

💻
Scott
Scott

💻
Shin'ya Ueoka
Shin'ya Ueoka

💻
sushilamazon
sushilamazon

💻
tomliu4uber
tomliu4uber

💻
Vladimir Orany
Vladimir Orany

💻
Xinyu Hu
Xinyu Hu

💻
Yosef Fertel
Yosef Fertel

💻
Denys Konakhevych
Denys Konakhevych

💻
Alex Weibel
Alex Weibel

💻
Ryan Carper
Ryan Carper

💻
Jonathan M. Henson
Jonathan M. Henson

💻
Debora N. Ito
Debora N. Ito

💻
Bret Ambrose
Bret Ambrose

💻
Anna-Karin Salander
Anna-Karin Salander

💻
John Viegas
John Viegas

💻
Dongie Agnir
Dongie Agnir

💻
Matthew Miller
Matthew Miller

💻
Benjamin Maizels
Benjamin Maizels

💻
Quan Zhou
Quan Zhou

💻
Zoe Wang
Zoe Wang

💻
Varun Nandi
Varun Nandi

💻
Andrew Shore
Andrew Shore

💻
Kyle Thomson
Kyle Thomson

💻
Sam Fink
Sam Fink

💻
Jonathan Bond
Jonathan Bond

💻
ajs139
ajs139

💻
Dewey Nguyen
Dewey Nguyen

💻
David Leen
David Leen

💻
Michael Li
Michael Li

💻
Bennett Lynch
Bennett Lynch

💻
Ikko Ashimine
Ikko Ashimine

📖
Jamie Liu
Jamie Liu

📖
guillepb10
guillepb10

💻
Lorenz Nickel
Lorenz Nickel

📖
Erin Yang
Erin Yang

💻
Roberto Tyley
Roberto Tyley

💻
Alvin See
Alvin See

💻
ron1
ron1

💻
Sai Kumar Reddy Chandupatla
Sai Kumar Reddy Chandupatla

💻
David Ho
David Ho

💻
Thomas Turrell-Croft
Thomas Turrell-Croft

💻

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



Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (411,578
Aws (39,258
Sdk (32,791
Guide (12,562
Amazon (11,039
Aws Sdk (579