Skip to content
AWS docs0.4

AWS SDK for Java v2 Extensions

Latest stable Based on AWS release 0.4.0

Library manual grounded in the 0.4.0 release source.

Kotlin builders and sync, CompletableFuture, and coroutine APIs over AWS SDK for Java v2 clients.

Choose it when the application uses Java SDK v2 clients, needs both blocking and asynchronous paths, or integrates with Spring Boot.

Applications select one central BOM version.

dependencies {
implementation(platform("io.github.bluetape4k:bluetape4k-dependencies:<version>"))
implementation("io.github.bluetape4k.aws:bluetape4k-aws-java")
}

AWS service SDKs follow a compileOnly policy; add the services actually used as runtime dependencies.

Factories build clients; extensions keep the AWS client type visible; async extensions expose futures; coroutine extensions await those futures. The application owns every created client and must close it.

val s3 = S3AsyncClient.create()
try {
s3.putAsByteArray(bucket, key, payload)
val objects = s3.listAllObjects(bucket).toList()
} finally {
s3.close()
}

S3 object and transfer helpers, DynamoDB enhanced repositories and batch execution, SQS/SNS messaging, KMS, CloudWatch, Kinesis, SES, STS, and request-model builders.

Put client and background-job ownership at one application boundary. Configure region, credentials, and endpoints once instead of rebuilding them per call.

Spring Boot and Ktor modules build on this library. Add only the Java SDK v2 services used at runtime, for example software.amazon.awssdk:s3.

Set region, credentials, endpoint override, HTTP implementation, retry policy, and timeouts on the AWS client builder before sharing the client.

Blank queue URLs, incomplete S3 pagination, missing service jars, blocking calls on coroutine threads, and leaked async clients are the common failure modes.

Reuse thread-safe clients, bound concurrency, monitor retries and throttling, and make copy-then-delete S3 move semantics explicit.

Use Floci first with endpoint override and static test credentials; use LocalStack only for service behavior that Floci does not cover.

Read client-lifecycle, then sync-async-coroutines, then service-patterns; continue with the released S3, DynamoDB, and SQS examples.

The artifact does not bring every AWS service SDK at runtime. Coroutine helpers do not turn synchronous clients into non-blocking clients.

These diagrams are loaded directly from README assets published with the 0.4.0 release and pinned to its immutable commit. They describe this manual’s released structure and runtime flows, not later Snapshot changes. Select a preview to open the SVG at the same release commit.

AWS Java architecture diagram

Release README: aws-java/README.md

AWS Java operation flow diagram

Release README: aws-java/README.md

AWS Java coroutine sequence diagram

Release README: aws-java/README.md