Skip to content
Back to skills

046 Api Reference 6b39bd3f

ASecurity

Base interface for all AWS service clients.

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 11, 2026
devopsjavaawsapiperformance

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 046-api-reference_6b39bd3f --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 046 Api Reference 6b39bd3f?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 046 Api Reference 6b39bd3f
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-046-api-reference-6b39bd3f/badge)](https://www.skillsdirectory.com/skills/tools-only-046-api-reference-6b39bd3f)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# AWS SDK for Java 2.x API Reference

## Core Client Classes

### AwsClient
Base interface for all AWS service clients.

```java
public interface AwsClient extends AutoCloseable {
    // Base client interface
}
```

### SdkClient
Enhanced client interface with SDK-specific features.

```java
public interface SdkClient extends AwsClient {
    // Enhanced client methods
}
```

## Client Builders

### ClientBuilder
Base builder interface for all AWS service clients.

**Key Methods:**
- `region(Region region)` - Set AWS region
- `credentialsProvider(CredentialsProvider credentialsProvider)` - Configure authentication
- `overrideConfiguration(ClientOverrideConfiguration overrideConfiguration)` - Override default settings
- `httpClient(HttpClient httpClient)` - Specify HTTP client implementation
- `build()` - Create client instance

## Configuration Classes

### ClientOverrideConfiguration
Controls client-level configuration including timeouts and metrics.

**Key Properties:**
- `apiCallTimeout(Duration)` - Total timeout for all retry attempts
- `apiCallAttemptTimeout(Duration)` - Timeout per individual attempt
- `retryPolicy(RetryPolicy)` - Retry behavior configuration
- `metricPublishers(MetricPublisher...)` - Enable metrics collection

### Builder Example

```java
ClientOverrideConfiguration config = ClientOverrideConfiguration.builder()
    .apiCallTimeout(Duration.ofSeconds(30))
    .apiCallAttemptTimeout(Duration.ofSeconds(10))
    .addMetricPublisher(CloudWatchMetricPublisher.create())
    .build();
```

## HTTP Client Implementations

### ApacheHttpClient
Synchronous HTTP client with advanced features.

**Builder Configuration:**
- `maxConnections(Integer)` - Maximum concurrent connections
- `connectionTimeout(Duration)` - Connection establishment timeout
- `socketTimeout(Duration)` - Socket read/write timeout
- `connectionTimeToLive(Duration)` - Connection lifetime
- `proxyConfiguration(ProxyConfiguration)` - Proxy settings

### NettyNioAsyncHttpClient
Asynchronous HTTP client for high-performance applications.

**Builder Configuration:**
- `maxConcurrency(Integer)` - Maximum concurrent operations
- `connectionTimeout(Duration)` - Connection timeout
- `readTimeout(Duration)` - Read operation timeout
- `writeTimeout(Duration)` - Write operation timeout
- `sslProvider(SslProvider)` - SSL/TLS implementation

### UrlConnectionHttpClient
Lightweight HTTP client using Java's URLConnection.

**Builder Configuration:**
- `socketTimeout(Duration)` - Socket timeout
- `connectTimeout(Duration)` - Connection timeout

## Authentication and Credentials

### Credential Providers

#### EnvironmentVariableCredentialsProvider
Reads credentials from environment variables.

```java
CredentialsProvider provider = EnvironmentVariableCredentialsProvider.create();
```

#### SystemPropertyCredentialsProvider
Reads credentials from Java system properties.

```java
CredentialsProvider provider = SystemPropertyCredentialsProvider.create();
```

#### ProfileCredentialsProvider
Reads credentials from AWS configuration files.

```java
CredentialsProvider provider = ProfileCredentialsProvider.create("profile-name");
```

#### StaticCredentialsProvider
Provides static credentials (not recommended for production).

```java
AwsBasicCredentials credentials = AwsBasicCredentials.create("key", "secret");
CredentialsProvider provider = StaticCredentialsProvider.create(credentials);
```

#### DefaultCredentialsProvider
Implements the default credential provider chain.

```java
CredentialsProvider provider = DefaultCredentialsProvider.create();
```

### SSO Authentication

#### AwsSsoCredentialsProvider
Enables SSO-based authentication.

```java
AwsSsoCredentialsProvider ssoProvider = AwsSsoCredentialsProvider.builder()
    .ssoProfile("my-sso-profile")
    .build();
```

## Error Handling Classes

### SdkClientException
Client-side exceptions (network, timeout, configuration issues).

```java
try {
    awsOperation();
} catch (SdkClientException e) {
    // Handle client-side errors
}
```

### SdkServiceException
Service-side exceptions (AWS service errors).

```java
try {
    awsOperation();
} catch (SdkServiceException e) {
    // Handle service-side errors
    System.err.println("Error Code: " + e.awsErrorDetails().errorCode());
    System.err.println("Request ID: " + e.requestId());
}
```

### S3Exception
S3-specific exceptions.

```java
try {
    s3Operation();
} catch (S3Exception e) {
    // Handle S3-specific errors
    System.err.println("S3 Error: " + e.awsErrorDetails().errorMessage());
}
```

## Metrics and Monitoring

### CloudWatchMetricPublisher
Publishes metrics to AWS CloudWatch.

```java
CloudWatchMetricPublisher publisher = CloudWatchMetricPublisher.create();
```

### MetricPublisher
Base interface for custom metrics publishers.

```java
public interface MetricPublisher {
    void publish(MetricCollection metricCollection);
}
```

## Utility Classes

### Duration and Time
Configure timeouts using Java Duration.

```java
Duration apiTimeout = Duration.ofSeconds(30);
Duration attemptTimeout = Duration.ofSeconds(10);
```

### Region
AWS regions for service endpoints.

```java
Region region = Region.US_EAST_1;
Region regionEU = Region.EU_WEST_1;
```

### URI
Endpoint configuration and proxy settings.

```java
URI proxyUri = URI.create("http://proxy:8080");
URI endpointOverride = URI.create("http://localhost:4566");
```

## Configuration Best Practices

### Resource Management
Always close clients when no longer needed.

```java
try (S3Client s3 = S3Client.builder().build()) {
    // Use client
} // Auto-closed
```

### Connection Pooling
Reuse clients to avoid connection pool overhead.

```java
@Service
public class AwsService {
    private final S3Client s3Client;

    public AwsService() {
        this.s3Client = S3Client.builder().build();
    }

    // Reuse s3Client throughout application
}
```

### Error Handling
Implement comprehensive error handling for robust applications.

```java
try {
    // AWS operation
} catch (SdkServiceException e) {
    // Handle service errors
} catch (SdkClientException e) {
    // Handle client errors
} catch (Exception e) {
    // Handle other errors
}
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.