Bug: 357762254

Clone this repo:
  1. 1ce28a4 Add janitors to the OWNERS file by Sadaf Ebrahimi · 5 weeks ago main master
  2. 8a52c78 Fix DoubleBraceInitialization errorprone issues am: e799858600 by Cole Faust · 5 months ago
  3. e799858 Fix DoubleBraceInitialization errorprone issues by Cole Faust · 5 months ago
  4. 511f797 Add missing generated sources and windows targets for awssdk-kms by Matt Gilbride · 11 months ago android15-tests-dev aml_adb_351010000 aml_ads_351017080 aml_art_350913340 aml_art_351011240 aml_art_351011340 aml_art_351110180 aml_ase_351010000 aml_cbr_350910020 aml_cbr_351011020 aml_cfg_351010000 aml_con_351010000 aml_doc_350915120 aml_doc_351012120 aml_ext_350912020 aml_hef_350921160 aml_hef_351016140 aml_ips_351010000 aml_med_350914000 aml_med_351010060 aml_mpr_350914160 aml_mpr_351013100 aml_mpr_351013160 aml_net_350911020 aml_net_351010000 aml_net_351010020 aml_odp_351020000 aml_per_350910080 aml_per_351014000 aml_res_351011000 aml_rkp_350910000 aml_rkp_351011000 aml_sch_351010000 aml_sdk_350910000 aml_sta_350911020 aml_tet_350911120 aml_tet_351010220 aml_tz6_351010000 aml_uwb_350911040 aml_uwb_351011040 aml_wif_350912040 aml_wif_351010040
  5. 056b2a8 Merge remote-tracking branch 'origin/third-party-review' by [email protected] · 11 months ago

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.24.3</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>

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.24.3</version>
</dependency>
<dependency>
  <groupId>software.amazon.awssdk</groupId>
  <artifactId>s3</artifactId>
  <version>2.24.3</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.24.3</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, Java 17, and Java 21.

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

Contributors ✨

Thanks goes to these wonderful people (emoji key):

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