Agent skill

aws-v2

Migrate from AWS SDK for Java v1 (com.amazonaws) to v2 (software.amazon.awssdk). Use when projects need to move away from deprecated AWS SDK v1 to the modern v2 API.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/aws-v2

Metadata

Additional technical details for this skill

tags
aws sdk migration dependencies
version
2.0.0
category
modernization
technology
java

SKILL.md

AWS SDK v2 Migration

Migrate Java projects from AWS SDK v1 (com.amazonaws) to v2 (software.amazon.awssdk).

When to Use

  • Project uses deprecated AWS SDK v1 (com.amazonaws.* imports)
  • Dependabot/security scans flag v1 vulnerabilities
  • Need features only available in v2 (async clients, HTTP/2, etc.)
  • When asked to "upgrade to aws sdk v2"

Skill Contents

Sections

Available Resources

📚 references/ - Detailed documentation


Critical: MSK IAM Authentication

When migrating to AWS SDK v2, also update aws-msk-iam-auth if using Kafka with MSK IAM.

Error after migration:

NoClassDefFoundError: com/amazonaws/auth/AWSCredentialsProvider

Fix: Update aws-msk-iam-auth to 2.3.5 (AWS SDK v2 compatible).

See references/migration-patterns.md for details.

Migration Strategy (Priority Order)

Priority Strategy When to Use
1 Update library A newer version of the library uses v2
2 Update BOM v1 comes from Spring Boot or other BOM
3 Dependency substitution Replace v1 artifact with v2 equivalent
4 Direct code migration Only if no library update available

Quick Start

1. Identify v1 Usages

bash
# Find all files with v1 imports
grep -r "import com.amazonaws" --include="*.java" . | grep -v "/build/"

# Check dependency tree
./gradlew dependencies --configuration runtimeClasspath | grep -B5 "com.amazonaws"

2. Apply Migration

See references/migration-patterns.md for detailed code migration patterns.

Dependency Substitution (in root build.gradle):

groovy
allprojects {
    configurations.configureEach {
        resolutionStrategy.dependencySubstitution {
            substitute module("com.amazonaws:aws-java-sdk-s3")
                using module("software.amazon.awssdk:s3:${libs.versions.aws.sdk.v2.get()}")
                because "Migrate to AWS SDK v2"
        }
    }
}

3. Validate

bash
# Verify no v1 imports remain
grep -r "import com.amazonaws" --include="*.java" . | grep -v "/build/"

# Build and test
./gradlew clean build test

References

Reference Content
references/migration-patterns.md Code migration patterns for S3, SQS, SNS, Lambda

Related Command

This skill is referenced by: /upgrade-to-aws-sdk-v2 (see java/commands/)

Related Resources

Didn't find tool you were looking for?

Be as detailed as possible for better results