# aws/aws-sdk-java-v2

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/aws-aws-sdk-java-v2).**

2,547 stars · 981 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/aws/aws-sdk-java-v2
- awesome-repositories: https://awesome-repositories.com/repository/aws-aws-sdk-java-v2.md

## Topics

`amazon` `aws` `aws-sdk` `hacktoberfest` `java`

## Description

The AWS SDK for Java is a set of client libraries providing a programmatic interface for managing cloud resources and services through the Java language and JVM. It serves as a cloud service client library for executing synchronous and asynchronous API calls to infrastructure components.

The library is distinguished by its use of non-blocking asynchronous I/O and a reactive cloud client model, utilizing publishers and subscribers to stream data and manage backpressure. It employs a modular design to decouple services and reduce binary size, while utilizing immutable builders for thread-safe client initialization and a pluggable HTTP transport layer for custom network implementations.

The SDK covers several functional areas, including the management of object storage transfers and NoSQL database persistence. Its capabilities extend to cloud infrastructure configuration, request presigning for security, and the tracking of business metrics for operational telemetry.

## Tags

### DevOps & Infrastructure

- [AWS SDKs](https://awesome-repositories.com/f/devops-infrastructure/aws-sdks.md) — Serves as the primary programmatic interface for managing AWS cloud resources and services using Java.
- [Cloud Resource API Management](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure/cloud-computing-serverless/cloud-orchestration-automation/cloud-resource-api-management.md) — Provides a programmatic interface for automating cloud infrastructure and database configuration via service APIs. ([source](https://cdn.jsdelivr.net/gh/aws/aws-sdk-java-v2@master/README.md))
- [Cloud Infrastructure Management](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-management.md) — Implements tools for provisioning, managing, and scaling cloud-based infrastructure assets. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/))
- [Cloud Integration Libraries](https://awesome-repositories.com/f/devops-infrastructure/cloud-integration-libraries.md) — Provides a comprehensive set of libraries for executing synchronous and asynchronous API calls to cloud infrastructure.
- [Cloud Service Integrations](https://awesome-repositories.com/f/devops-infrastructure/cloud-service-integrations.md) — Provides a standardized programmatic interface for interacting with cloud-hosted infrastructure and services.
- [S3 File Transfer Tools](https://awesome-repositories.com/f/devops-infrastructure/file-uploaders/s3-file-transfer-tools.md) — Facilitates uploading and downloading data objects to and from S3-compatible cloud storage. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/design))
- [Reactive Frameworks](https://awesome-repositories.com/f/devops-infrastructure/cloud-native-orchestration/cloud-native-application-development/reactive-frameworks.md) — Implements a reactive cloud client model using publishers and subscribers to manage high-volume data flows.

### Data & Databases

- [Data Persistence](https://awesome-repositories.com/f/data-databases/data-persistence.md) — Provides mechanisms for managing data persistence and synchronization with cloud-based NoSQL databases.
- [Object Mapping](https://awesome-repositories.com/f/data-databases/database-connectivity/dynamodb-connectors/object-mapping.md) — Maps and transfers data objects between the application and DynamoDB to simplify persistence. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/design))
- [S3 Storage Management](https://awesome-repositories.com/f/data-databases/object-storage/remote-object-storage-integrations/s3-storage-management.md) — Provides programmatic management, uploading, and downloading of data objects within S3 storage buckets.
- [NoSQL Databases](https://awesome-repositories.com/f/data-databases/nosql-databases.md) — Includes specialized clients for mapping and transferring application objects to scalable NoSQL databases.

### Programming Languages & Runtimes

- [Reactive Streams Implementations](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models/reactive-programming/reactive-streams-implementations.md) — Provides non-blocking, backpressure-aware stream processing between publishers and subscribers. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/guidelines))
- [Java Code Generators](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-structures/hierarchical-tree-structures/source-code-abstract-syntax-trees/java-code-generators.md) — Produces Java source code programmatically to automate the creation of repetitive class structures. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/guidelines))

### Software Engineering & Architecture

- [Asynchronous Operation Execution](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-operation-execution.md) — Provides non-blocking operation execution using futures to prevent application thread stalls. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/guidelines))
- [Non-Blocking Execution](https://awesome-repositories.com/f/software-engineering-architecture/client-server-architecture/long-running-task-protocols/non-blocking-execution.md) — Employs non-blocking asynchronous I/O to execute network requests without stalling application threads. ([source](https://cdn.jsdelivr.net/gh/aws/aws-sdk-java-v2@master/README.md))
- [Non-blocking I/O](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-task-execution/non-blocking-i-o.md) — Employs non-blocking I/O to handle multiple network operations without stalling the main execution thread.
- [Builder Patterns](https://awesome-repositories.com/f/software-engineering-architecture/creational-design-patterns/builder-patterns.md) — Utilizes builder patterns to construct complex, thread-safe client configurations.
- [Model-Driven Code Generation](https://awesome-repositories.com/f/software-engineering-architecture/model-driven-code-generation.md) — Produces service client classes and request objects by processing structured API models.
- [Request Interceptors](https://awesome-repositories.com/f/software-engineering-architecture/request-interceptors.md) — Implements a request pipeline with hooks for cross-cutting concerns like authentication and telemetry.
- [Modular Binary Decoupling](https://awesome-repositories.com/f/software-engineering-architecture/service-decoupling-patterns/modular-binary-decoupling.md) — Decouples services into individual modules to reduce the final application binary size.

### Part of an Awesome List

- [Cloud Stream Clients](https://awesome-repositories.com/f/awesome-lists/productivity/reactive-programming/reactive-stream-subscribers/cloud-stream-clients.md) — Utilizes a non-blocking interface with publishers and subscribers to stream data and manage backpressure.

### Development Tools & Productivity

- [SDK Client Initialization](https://awesome-repositories.com/f/development-tools-productivity/sdk-client-initialization.md) — Provides thread-safe patterns for configuring and instantiating service clients. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/guidelines))

### Networking & Communication

- [Automatic Reconnection Logic](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-paradigms/server-to-client-event-emissions/connection-reconnection-policies/automatic-reconnection-logic.md) — Implements logic that automatically restores dropped network connections for continuous event streaming. ([source](https://github.com/aws/aws-sdk-java-v2/tree/master/docs/design))
- [Pluggable Transport Layers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-transport-layers/pluggable-transport-layers.md) — Provides modular interfaces for swapping the default network transport with custom HTTP implementations.

### Web Development

- [HTTP Client Implementations](https://awesome-repositories.com/f/web-development/http-client-implementations.md) — Supports the use of custom HTTP client implementations for executing network requests. ([source](https://cdn.jsdelivr.net/gh/aws/aws-sdk-java-v2@master/README.md))
