- Home
- Skills
- Giuseppe Trisciuoglio
- Developer Kit
- Aws Sdk Java V2 Core
aws-sdk-java-v2-core_skill
- Python
99
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill giuseppe-trisciuoglio/developer-kit --skill aws-sdk-java-v2-core- SKILL.md22.9 KB
Overview
This skill provides core patterns and best practices for configuring and using the AWS SDK for Java 2.x. It covers client construction, credential and authentication strategies, HTTP client selection, timeout and retry configuration, and integration patterns for Spring Boot and local testing. Use it to build secure, performant, and maintainable AWS integrations in Java applications.
How this skill works
The skill describes concrete setup steps and code patterns for creating and reusing service clients, wiring credential provider chains, and configuring HTTP clients (Apache for sync, Netty for async, UrlConnection for lightweight). It shows how to set API and attempt timeouts, add metric publishers, handle errors and retries, and ensure proper resource cleanup. It also includes Spring Boot configuration beans and examples for LocalStack and Testcontainers testing.
When to use it
- Setting up AWS SDK for Java 2.x service clients with correct region and credentials
- Configuring authentication: environment, profile, SSO, instance/profile providers
- Choosing and tuning HTTP clients and connection pooling for sync/async workloads
- Defining API call and attempt timeouts and retry behavior
- Integrating SDK clients into Spring Boot applications and property-driven configs
- Testing integrations locally with LocalStack or Testcontainers
Best practices
- Reuse service clients as long-lived beans to avoid connection and resource churn
- Prefer default credential provider chain; use explicit providers only when necessary
- Set apiCallTimeout and apiCallAttemptTimeout to guard against hung requests
- Choose ApacheHttpClient for synchronous high-throughput workloads and Netty for async with optimized SSL
- Always close clients and streaming responses (try-with-resources or explicit close) to return connections to pools
- Test against LocalStack/Testcontainers to validate integration without hitting real AWS
Example use cases
- Create a production-ready S3 client bean in Spring Boot with configurable timeouts and max connections
- Run integration tests against LocalStack with endpointOverride and static credentials
- Build a high-concurrency async S3 uploader using NettyNioAsyncHttpClient and OpenSSL provider
- Implement a credentials strategy that falls back from env vars to profile to instance profile on EC2
- Add CloudWatch metric publisher to client override configuration for operational observability
FAQ
Use ApacheHttpClient for synchronous, blocking workloads with connection pooling. Use NettyNioAsyncHttpClient for high-concurrency asynchronous operations; enable OpenSSL for better SSL performance.
Should I store static credentials in code or config?
Avoid static credentials in production. Prefer the default provider chain or environment/profile/SSO. Use static credentials only for local tests or isolated CI with short-lived test credentials.