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.
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.
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.
The recommended way to use the AWS SDK for Java in your project is to consume it from Maven Central.
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.29.31</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Then individual modules 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>
Alternatively you can add dependencies for the specific services you use only:
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>ec2</artifactId>
<version>2.29.31</version>
</dependency>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>s3</artifactId>
<version>2.29.31</version>
</dependency>
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.29.31</version>
</dependency>
See the Set up the AWS SDK for Java section of the developer guide for more usage information.
Provides a way to plug in your own HTTP implementation.
Provides first class support for non-blocking IO in Async clients.
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
You can find sample code for v2 in the following places:
it
directory under each service module, eg: s3-integration-testsFor information about maintenance and support for SDK major versions and their underlying dependencies, see the following in the AWS SDKs and Tools Reference Guide:
We maintain full support on Long-Term Support(LTS) releases: Java 8, Java 11, Java 17, and Java 21. Note that there may be individual features in newer releases that are not supported, because the SDK must be compatible with Java 8.
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:
Thanks goes to these wonderful people (emoji key):
sullis |
Austin Brooks |
Konrad `ktoso` Malawski |
Andrew Hopkins |
Adam Thomas |
Steven Swor |
Carey Burgess |
|
Anuraag Agrawal |
jeffalder |
Boris |
Guillaume Corré |
Henri Yandell |
Ryan Schmitt |
Somaya |
|
Steven Aerts |
Steven Wong |
Tomasz Elendt |
Will Erickson |
Julien Hoarau |
SEOKHYOENCHOI |
adriannistor |
|
Xian Sun |
Andreas Scheja |
Anton Egorov |
roexber |
brharrington |
Christopher Radek |
Foivos |
|
Frank Wesemann |
Gergely Varga |
Guillermo |
Henry Heikkinen |
Jochen Schalanda |
Joe Barnett |
Kazuhiro Sera |
|
Krishna Chaithanya Ganta |
Lee Packham |
Matteo Carrara |
Michael Scharp |
Miguel Jimenez |
Russell Bolles |
Russell Scheerer |
|
Scott |
Shin'ya Ueoka |
sushilamazon |
tomliu4uber |
Vladimir Orany |
Xinyu Hu |
Yosef Fertel |
|
Denys Konakhevych |
Alex Weibel |
Ryan Carper |
Jonathan M. Henson |
Debora N. Ito |
Bret Ambrose |
Anna-Karin Salander |
|
John Viegas |
Dongie Agnir |
Matthew Miller |
Benjamin Maizels |
Quan Zhou |
Zoe Wang |
Varun Nandi |
|
Andrew Shore |
Kyle Thomson |
Sam Fink |
Jonathan Bond |
ajs139 |
Dewey Nguyen |
David Leen |
|
Michael Li |
Bennett Lynch |
Ikko Ashimine |
Jamie Liu |
guillepb10 |
Lorenz Nickel |
Erin Yang |
|
Roberto Tyley |
Alvin See |
ron1 |
Sai Kumar Reddy Chandupatla |
David Ho |
Thomas Turrell-Croft |
Steven Shan |
|
Barry O'Neill |
Andy Kiesler |
Martin |
Paulo Lieuthier |
Sébastien Crocquesel |
David Negrete |
Stephen Flavin |
|
Olivier L Applin |
Adrian Chlebosz |
Chad Wilson |
Manish Dait |
Dennis Kieselhorst |
Nilesh PS |
Steven Swartz |
|
Michael Dimchuk |
Nikita Sokolov |
Manuel Sugawara |
Anirudh |
Hayden Baker |
Jaykumar Gosar |
Michael Graeb |
|
Michael Grundie |
Eckard Mühlich |
Tobias Soloschenko |
Luis Madrigal |
Kirill Chaykin |
prateek-vats |
Bole1155 |
Thomas Farr |
This project follows the all-contributors specification. Contributions of any kind welcome!