A powerful Rust CLI tool for working with AWS SQS dead letter queues. Supports listing queues, polling messages, batch sending with job management, and local development with LocalStack.
- 📋 List SQS Queues - View all queues in your AWS account
- 📨 Poll Messages - Receive and display messages from any queue
- 🚀 Batch Sending - High-throughput batch message sending with progress tracking
- 💾 Job Management - SQLite-backed job queue for reliable message processing
- 🔄 Retry Support - Automatic retries with configurable limits
- 🧪 LocalStack Support - First-class local development support
# Install from crates.io
cargo install dlqEnsure your AWS credentials are configured:
# Option 1: AWS CLI configuration
aws configure
# Option 2: Environment variables
export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_REGION=us-east-1# List all SQS queues
dlq list
# Poll messages from a queue
dlq poll https://sqs.us-east-1.amazonaws.com/123456789/my-queue
# Override AWS profile/region
AWS_PROFILE=production AWS_REGION=eu-west-1 dlq list# Start LocalStack (requires Docker)
docker compose up -d
# Create a test queue
aws --endpoint-url=http://localhost:4566 sqs create-queue --queue-name demo
# Use dlq with --local flag
dlq --local list
dlq --local poll http://sqs.us-east-1.localhost.localstack.cloud:4566/000000000000/demoFor more detailed local development instructions, see docs/QUICKSTART.md.
This is a Cargo workspace with two crates:
| Crate | Description |
|---|---|
dlq-cli |
The CLI application with full command documentation |
dlq-core |
Core library for SQS operations |
| Command | Description |
|---|---|
dlq list |
List all SQS queue URLs |
dlq poll <url> |
Poll and display messages from a queue |
dlq info |
Display AWS configuration info |
dlq send |
Interactive message sending |
dlq send-batch |
Batch send messages from a job |
dlq job |
Job management commands |
dlq database |
Database utilities |
For detailed command documentation, see the CLI README.