Connection
aws configure
Set up AWS credentials for CLI use
aws sqs help
Get help on SQS commands
aws configure --profile [profile_name]
Set up a named profile for AWS credentials
Queue Management
aws sqs create-queue --queue-name [queue_name]
Create a new queue
aws sqs list-queues
List all queues
aws sqs delete-queue --queue-url [queue_url]
Delete a queue
aws sqs get-queue-url --queue-name [queue_name]
Get the URL for a queue
aws sqs get-queue-attributes --queue-url [queue_url] --attribute-names All
Get all attributes for a queue
Message Operations
aws sqs send-message --queue-url [queue_url] --message-body [message]
Send a message to a queue
aws sqs receive-message --queue-url [queue_url]
Receive messages from a queue
aws sqs delete-message --queue-url [queue_url] --receipt-handle [receipt_handle]
Delete a message from a queue
aws sqs purge-queue --queue-url [queue_url]
Delete all messages from a queue
Batch Operations
aws sqs send-message-batch --queue-url [queue_url] --entries file://entries.json
Send multiple messages in a single request
aws sqs delete-message-batch --queue-url [queue_url] --entries file://entries.json
Delete multiple messages in a single request
Queue Attributes
aws sqs set-queue-attributes --queue-url [queue_url] --attributes file://attributes.json
Set queue attributes
aws sqs get-queue-attributes --queue-url [queue_url] --attribute-names [attribute1] [attribute2]
Get specific queue attributes
Dead Letter Queue
aws sqs set-queue-attributes --queue-url [queue_url] --attributes '{"RedrivePolicy":"{\"deadLetterTargetArn\":\"arn:aws:sqs:region:account:deadletter\",\"maxReceiveCount\":\"5\"}"}'
Configure dead letter queue
aws sqs get-queue-attributes --queue-url [queue_url] --attribute-names RedrivePolicy
View dead letter queue configuration
Monitoring
aws cloudwatch get-metrics --namespace AWS/SQS --metric-name ApproximateNumberOfMessagesVisible --dimensions Name=QueueName,Value=[queue_name]
Monitor queue depth
aws cloudwatch get-metrics --namespace AWS/SQS --metric-name NumberOfMessagesSent --dimensions Name=QueueName,Value=[queue_name]
Monitor message send rate