- Home
- Skills
- Giuseppe Trisciuoglio
- Developer Kit
- Aws Sdk Java V2 S3
aws-sdk-java-v2-s3_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-s3- SKILL.md23.7 KB
Overview
This skill provides practical patterns and examples for working with Amazon S3 using the AWS SDK for Java 2.x. It covers client configuration, bucket and object operations, multipart transfers, presigned URLs, Transfer Manager usage, and Spring Boot integration. The content focuses on reliable, production-ready usage including retry configuration and encryption options.
How this skill works
The skill shows how to instantiate synchronous and asynchronous S3 clients, configure retries and HTTP settings, and use high-level helpers such as S3Presigner and S3TransferManager. It demonstrates common operations: create/list/check buckets, upload/download objects, manage metadata and storage classes, perform multipart uploads, generate presigned URLs, copy and delete objects, and wire S3 into Spring Boot applications.
When to use it
- Creating, listing, or deleting S3 buckets with proper wait and error handling
- Uploading and downloading objects with metadata, encryption, and storage-class settings
- Handling large files with multipart uploads or the S3 Transfer Manager
- Generating presigned URLs for temporary client-side upload or download
- Copying objects between buckets while preserving metadata and access controls
- Integrating S3 access into Spring Boot apps with property-driven configuration
Best practices
- Use configured retry/backoff and connection pooling for production clients
- Prefer Transfer Manager for large or parallel transfers to simplify progress and retries
- Set server-side encryption and storage class explicitly when security or cost matters
- Generate short-lived presigned URLs and validate permissions server-side
- Use HeadBucket/HeadObject for existence checks rather than catching generic exceptions
- Test S3 integrations locally with LocalStack or a mocked S3 client
Example use cases
- Upload user-generated content with metadata and AES256 server-side encryption
- Generate a presigned upload URL for a web client to send large files securely
- Move objects from a staging bucket to a production bucket while preserving metadata
- Implement resumable multipart uploads for files larger than 100 MB
- Stream downloads to a file system using Transfer Manager with progress monitoring
FAQ
Use S3TransferManager for large or parallel uploads/downloads; it handles multipart logic, retries, and progress tracking, making complex transfers simpler and more robust.
How long should presigned URLs be valid?
Keep presigned URL durations as short as practical for the use case—minutes for uploads from browsers, longer only if required by client constraints. Shorter durations reduce exposure.