Skip to main content
The Amazon SQS provider offers enterprise-grade message queuing with advanced features like FIFO queues, dead letter queues, and long polling. It’s ideal for mission-critical applications requiring high reliability and throughput.

Installation

Install the Amazon SQS packages:

Basic Configuration

Publishing Configuration

Configure the publisher in your startup:

Dispatching Configuration

Configure the message dispatcher:

Configuration Options

AmazonSQSOptions

Authentication Methods

Access Keys (Development)

For development environments:
For EC2 instances, ECS tasks, or Lambda functions:

Named Profiles

Using AWS CLI profiles:

Temporary Credentials

For applications using AWS STS:

Queue Types

Standard Queues

Default queue type with high throughput:
Characteristics:
  • Nearly unlimited throughput
  • At-least-once delivery
  • Best-effort ordering
  • Lower cost

FIFO Queues

For ordered message processing:
Characteristics:
  • Exactly-once processing
  • Strict message ordering
  • 3,000 messages/second with batching
  • Higher cost

Dead Letter Queue Configuration

Automatic DLQ Setup

SimpleMessageBus can automatically configure dead letter queues:

Manual DLQ Configuration

Set up DLQ manually in AWS Console or with Infrastructure as Code:

DLQ Message Processing

Handle messages from dead letter queue:

Message Attributes and Metadata

Standard Message Attributes

SQS supports message attributes for filtering and routing:

Custom Message Attributes

Add custom attributes during publishing:

Error Handling and Retry Strategies

Built-in Retry Logic

Configure automatic retries:

Custom Error Handling

Implement sophisticated error handling:

Monitoring and CloudWatch Integration

CloudWatch Metrics

SQS automatically publishes metrics to CloudWatch:
  • ApproximateNumberOfMessages
  • ApproximateNumberOfMessagesVisible
  • NumberOfMessagesSent
  • NumberOfMessagesReceived
  • NumberOfMessagesDeleted

Custom Application Metrics

Track application-specific metrics:

X-Ray Tracing

Enable AWS X-Ray for distributed tracing:

Performance Optimization

Long Polling

Use long polling to reduce costs and latency:

Batch Operations

Process messages in batches:

Multiple Processors

Scale with multiple queue processors:

Security Best Practices

IAM Policies

Minimal required permissions for publisher:
Minimal required permissions for dispatcher:

VPC Endpoints

Use VPC endpoints for private communication:

Message Encryption

Enable server-side encryption:

Troubleshooting

Symptoms: AmazonServiceException with access deniedSolutions:
  • Verify IAM permissions
  • Check access key and secret key
  • Ensure correct region
  • Validate queue ARN format
Symptoms: AmazonServiceException with throttling errorsSolutions:
  • Implement exponential backoff
  • Reduce message rate
  • Use batch operations
  • Consider FIFO queue limits
Symptoms: MessageTooLarge exceptionsSolutions:
  • SQS limit: 256 KB
  • Use S3 for large payloads
  • Reference S3 objects in messages

Complete Example

Here’s a complete working example with FIFO queue and DLQ:

Next Steps

FIFO Queues

Learn about ordered message processing

Dead Letter Queues

Handle failed messages effectively

CloudWatch Monitoring

Monitor your SQS integration

Performance Tuning

Optimize for high throughput