CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-software-amazon-awssdk--bom

AWS SDK for Java v2 Bill of Materials providing centralized dependency management for 450+ AWS service modules and SDK components

Overview
Eval results
Files

enhanced-libraries.mddocs/

Enhanced Libraries

High-level convenience libraries that provide simplified APIs for complex operations built on top of the core AWS service clients. These libraries offer enhanced functionality, better developer experience, and optimized performance for common use cases.

Core Imports

<!-- Import BOM for version management -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>bom</artifactId>
            <version>2.33.4</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Capabilities

S3 Transfer Manager

High-level library for efficient S3 upload, download, and copy operations with automatic multipart handling, progress tracking, and error recovery.

/**
 * S3 Transfer Manager - High-level S3 transfer operations
 * Features: Multipart uploads/downloads, progress tracking, resume capability
 * Best for: Large file transfers, batch operations, production applications
 */
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>s3-transfer-manager</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

Key Features:

  • Automatic multipart upload/download for large files
  • Progress tracking and bandwidth throttling
  • Resume capability for interrupted transfers
  • Concurrent transfer management
  • Optimized for high throughput

Usage Example:

<dependencies>
    <!-- S3 service client -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3</artifactId>
    </dependency>
    
    <!-- S3 Transfer Manager -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3-transfer-manager</artifactId>
    </dependency>
    
    <!-- Recommended: CRT client for best performance -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>aws-crt-client</artifactId>
    </dependency>
</dependencies>

DynamoDB Enhanced Client

Object-relational mapping (ORM) library for DynamoDB providing type-safe operations, automatic marshalling, and advanced querying capabilities.

/**
 * DynamoDB Enhanced Client - ORM for DynamoDB
 * Features: Object mapping, type safety, advanced queries, batch operations
 * Best for: Object-oriented applications, complex data models, type safety
 */
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>dynamodb-enhanced</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

Key Features:

  • Automatic object-to-item mapping
  • Type-safe operations with compile-time checking
  • Support for nested objects and collections
  • Advanced query and scan operations
  • Batch operations and transactions
  • Projection and filtering support

Usage Example:

<dependencies>
    <!-- DynamoDB service client -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>dynamodb</artifactId>
    </dependency>
    
    <!-- DynamoDB Enhanced Client -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>dynamodb-enhanced</artifactId>
    </dependency>
</dependencies>

S3 Event Notifications

Utilities for processing S3 event notifications from SQS, SNS, or Lambda triggers with automatic parsing and type safety.

/**
 * S3 Event Notifications - Process S3 event messages
 * Features: Event parsing, type safety, integration with messaging services
 * Best for: Event-driven architectures, S3 trigger processing
 */
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>s3-event-notifications</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

Key Features:

  • Automatic parsing of S3 event messages
  • Type-safe event data access
  • Support for SQS, SNS, and Lambda event sources
  • Event filtering and routing utilities

Usage Example:

<dependencies>
    <!-- S3 service client -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3</artifactId>
    </dependency>
    
    <!-- S3 Event Notifications -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3-event-notifications</artifactId>
    </dependency>
    
    <!-- For SQS-based events -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>sqs</artifactId>
    </dependency>
</dependencies>

IAM Policy Builder

Fluent API for constructing IAM policies with type safety, validation, and best practices enforcement.

/**
 * IAM Policy Builder - Fluent IAM policy construction
 * Features: Type-safe policy building, validation, best practices
 * Best for: Dynamic policy generation, security automation
 */
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>iam-policy-builder</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

Key Features:

  • Fluent API for policy construction
  • Type-safe resource ARN handling
  • Built-in validation and best practices
  • Support for conditions and advanced features
  • JSON serialization and deserialization

Usage Example:

<dependencies>
    <!-- IAM service client -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>iam</artifactId>
    </dependency>
    
    <!-- IAM Policy Builder -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>iam-policy-builder</artifactId>
    </dependency>
</dependencies>

CloudWatch Metric Publisher

Enhanced CloudWatch metrics publishing with batching, buffering, and automatic dimension management.

/**
 * CloudWatch Metric Publisher - Enhanced metrics publishing
 * Features: Batching, buffering, automatic retries, dimension management
 * Best for: High-volume metrics, performance monitoring
 */
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>cloudwatch-metric-publisher</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

Key Features:

  • Automatic batching and buffering
  • Intelligent retry handling
  • Dimension management and validation
  • Background publishing with minimal latency impact
  • Integration with SDK metrics system

EMF Metric Logging Publisher

Embedded Metric Format (EMF) publisher for CloudWatch Logs with automatic metric extraction.

/**
 * EMF Metric Logging Publisher - Structured logging with metrics
 * Features: EMF format, automatic metric extraction, cost optimization
 * Best for: Lambda functions, container applications, cost-effective monitoring
 */
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>emf-metric-logging-publisher</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

Key Features:

  • Embedded Metric Format support
  • Automatic CloudWatch metric creation from logs
  • Cost-effective alternative to direct metric publishing
  • Structured logging with metric extraction
  • Lambda and container optimized

Usage Examples

S3 high-performance setup:

<dependencies>
    <!-- Core S3 -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3</artifactId>
    </dependency>
    
    <!-- Enhanced S3 capabilities -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3-transfer-manager</artifactId>
    </dependency>
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>s3-event-notifications</artifactId>
    </dependency>
    
    <!-- High-performance HTTP client -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>aws-crt-client</artifactId>
    </dependency>
</dependencies>

DynamoDB with enhanced features:

<dependencies>
    <!-- Core DynamoDB -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>dynamodb</artifactId>
    </dependency>
    
    <!-- Enhanced DynamoDB -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>dynamodb-enhanced</artifactId>
    </dependency>
</dependencies>

Complete monitoring stack:

<dependencies>
    <!-- CloudWatch -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>cloudwatch</artifactId>
    </dependency>
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>cloudwatchlogs</artifactId>
    </dependency>
    
    <!-- Enhanced monitoring -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>cloudwatch-metric-publisher</artifactId>
    </dependency>
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>emf-metric-logging-publisher</artifactId>
    </dependency>
</dependencies>

Security and policy management:

<dependencies>
    <!-- IAM -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>iam</artifactId>
    </dependency>
    
    <!-- Enhanced IAM -->
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>iam-policy-builder</artifactId>
    </dependency>
</dependencies>

Performance Considerations

S3 Transfer Manager

  • Requires sufficient memory for concurrent transfers
  • Works best with CRT HTTP client for maximum performance
  • Configure thread pool sizes based on available resources

DynamoDB Enhanced Client

  • Adds object mapping overhead compared to low-level client
  • Provides type safety benefits for complex data models
  • Consider for applications prioritizing developer experience

Metric Publishers

  • CloudWatch Metric Publisher: Direct metrics with batching
  • EMF Publisher: Cost-effective for high-volume scenarios
  • Choose based on cost vs. latency requirements

Types

<!-- Enhanced library dependency coordinates -->
<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>s3-transfer-manager</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>dynamodb-enhanced</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>s3-event-notifications</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>iam-policy-builder</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>cloudwatch-metric-publisher</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>emf-metric-logging-publisher</artifactId>
    <version>${awsjavasdk.version}</version>
</dependency>

Install with Tessl CLI

npx tessl i tessl/maven-software-amazon-awssdk--bom

docs

authentication.md

core-infrastructure.md

enhanced-libraries.md

http-clients.md

index.md

service-clients.md

tile.json