## What problem does it solve?
This skill helps Java developers implement reliable, secure, and performant Amazon S3 storage operations using the AWS SDK for Java 2.x, removing uncertainty when building uploads, downloads, multipart transfers, presigned URL flows, and Spring Boot integrations.
## Core Features & Use Cases
- Bucket management: create, list, head, and delete buckets with waiters and proper configuration.
- Object operations: put/get objects, manage metadata, storage classes, tagging, and batch deletes.
- Large file handling: multipart uploads, resume, parallel transfers and S3 Transfer Manager usage with progress tracking.
- Presigned URLs & security: generate presigned GET/PUT URLs, configure server-side encryption, ACLs, and IAM/STS best practices.
- Integration & testing: Spring Boot configuration examples, Transfer Manager beans, and LocalStack-based test setups for CI.
- Reliability: examples include retry policies, throttling/backoff handling, and cleanup of failed multipart uploads.
- Use Case: Upload large user media from a web backend using Transfer Manager, persist metadata, and return a presigned download link for clients.
### Quick Start
Use the aws-sdk-java-v2-s3 skill to upload a local file 'document.pdf' to bucket 'my-bucket' with metadata and return a presigned download URL.