awsclaw-sqs
Awsclaw SQS
Manage SQS queues and send/receive messages.
When to Use This Skill
Use this skill when the user:
- Asks about SQS queues or messaging
- Wants to send, receive, or delete messages
- Needs to inspect queue attributes or dead letter queues
- Wants to purge a queue
- Asks about FIFO queues, message groups, or deduplication
- Needs to manage message visibility
- Wants to create or delete queues
- Needs to configure queue attributes or permissions
Tool: SQSTool
Execute AWS SQS commands. ALWAYS provide params object.
Commands
ListQueues
List SQS queues.
{ "command": "ListQueues", "params": { "QueueNamePrefix": "prod-" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueNamePrefix | string | No | Queue name prefix filter |
| MaxResults | number | No | Maximum results |
| NextToken | string | No | Pagination token |
GetQueueUrl
Get the URL for a queue by name.
{ "command": "GetQueueUrl", "params": { "QueueName": "my-queue" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueName | string | Yes | Queue name |
| QueueOwnerAWSAccountId | string | No | Queue owner account ID (for cross-account) |
GetQueueAttributes
Get queue attributes (message count, delay, visibility timeout, policy, etc.).
{ "command": "GetQueueAttributes", "params": { "QueueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/my-queue", "AttributeNames": ["All"] } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
| AttributeNames | array of strings | No | Attribute names to retrieve. Use ["All"] for all attributes |
SendMessage
Send a message to a queue.
{ "command": "SendMessage", "params": { "QueueUrl": "https://sqs...", "MessageBody": "Hello World" } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
| MessageBody | string | Yes | Message body text |
| DelaySeconds | number | No | Delay before message becomes available |
| MessageAttributes | object | No | Custom message attributes |
| MessageDeduplicationId | string | No | Deduplication ID (FIFO queues) |
| MessageGroupId | string | No | Message group ID (FIFO queues) |
SendMessageBatch
Send multiple messages in a batch.
{ "command": "SendMessageBatch", "params": { "QueueUrl": "https://sqs...", "Entries": [{"Id":"1","MessageBody":"msg1"},{"Id":"2","MessageBody":"msg2"}] } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
| Entries | array of objects | Yes | Batch entries (up to 10) |
ReceiveMessage
Receive messages from a queue.
{ "command": "ReceiveMessage", "params": { "QueueUrl": "https://sqs...", "MaxNumberOfMessages": 10, "WaitTimeSeconds": 5 } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
| MaxNumberOfMessages | number | No | Maximum messages to receive (1-10) |
| VisibilityTimeout | number | No | Visibility timeout in seconds |
| WaitTimeSeconds | number | No | Long polling wait time in seconds |
| AttributeNames | array of strings | No | System attribute names to retrieve |
| MessageAttributeNames | array of strings | No | Custom message attribute names |
DeleteMessage
Delete a message from a queue.
{ "command": "DeleteMessage", "params": { "QueueUrl": "https://sqs...", "ReceiptHandle": "AQEBw..." } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
| ReceiptHandle | string | Yes | Receipt handle from ReceiveMessage |
DeleteMessageBatch
Delete multiple messages in a batch.
{ "command": "DeleteMessageBatch", "params": { "QueueUrl": "https://sqs...", "Entries": [{"Id":"1","ReceiptHandle":"AQEBw..."}] } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
| Entries | array of objects | Yes | Batch entries with Id and ReceiptHandle |
ChangeMessageVisibility
Change visibility timeout of a received message.
{ "command": "ChangeMessageVisibility", "params": { "QueueUrl": "https://sqs...", "ReceiptHandle": "AQEBw...", "VisibilityTimeout": 60 } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
| ReceiptHandle | string | Yes | Receipt handle |
| VisibilityTimeout | number | Yes | New visibility timeout in seconds |
ChangeMessageVisibilityBatch
Change visibility for multiple messages.
{ "command": "ChangeMessageVisibilityBatch", "params": { "QueueUrl": "https://sqs...", "Entries": [{"Id":"1","ReceiptHandle":"AQEBw...","VisibilityTimeout":60}] } }
PurgeQueue
Delete all messages in a queue.
{ "command": "PurgeQueue", "params": { "QueueUrl": "https://sqs..." } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
ListDeadLetterSourceQueues
List queues that have this queue as their dead letter queue.
{ "command": "ListDeadLetterSourceQueues", "params": { "QueueUrl": "https://sqs..." } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Dead letter queue URL |
| MaxResults | number | No | Maximum results |
| NextToken | string | No | Pagination token |
ListQueueTags
List tags for a queue.
{ "command": "ListQueueTags", "params": { "QueueUrl": "https://sqs..." } }
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| QueueUrl | string | Yes | Queue URL |
Queue Lifecycle Commands
CreateQueue
Create a new queue.
{ "command": "CreateQueue", "params": { "QueueName": "my-queue", "Attributes": { "VisibilityTimeout": "30" } } }
SetQueueAttributes
Update queue attributes.
{ "command": "SetQueueAttributes", "params": { "QueueUrl": "https://sqs...", "Attributes": { "MessageRetentionPeriod": "1209600" } } }
AddPermission
Add a permission to a queue.
{ "command": "AddPermission", "params": { "QueueUrl": "https://sqs...", "Label": "allow-sns", "AWSAccountIds": ["123456789012"], "Actions": ["SendMessage"] } }
RemovePermission
Remove a permission from a queue.
{ "command": "RemovePermission", "params": { "QueueUrl": "https://sqs...", "Label": "allow-sns" } }
TagQueue
Tag a queue.
{ "command": "TagQueue", "params": { "QueueUrl": "https://sqs...", "Tags": { "env": "prod" } } }
UntagQueue
Remove tags from a queue.
{ "command": "UntagQueue", "params": { "QueueUrl": "https://sqs...", "TagKeys": ["env"] } }
DeleteQueue
Delete a queue.
{ "command": "DeleteQueue", "params": { "QueueUrl": "https://sqs..." } }
Related Services
- SQS → Lambda: SQS queues commonly trigger Lambda functions. Use
LambdaToolListEventSourceMappingsto find Lambda consumers - SQS → SNS: SNS topics can fan out to SQS queues. Use
SNSToolListSubscriptionsByTopicto find SQS subscriptions - SQS → Dead Letter Queues: Failed messages go to DLQ. Use
GetQueueAttributesto find theRedrivePolicywhich contains the DLQ ARN, thenListDeadLetterSourceQueuesto find source queues - SQS → CloudWatch: SQS metrics (messages sent, received, deleted, approximate count) are in CloudWatch Metrics
- SQS → S3: S3 event notifications can deliver to SQS. Use
S3ToolGetBucketNotificationConfiguration - SQS → Step Functions: Step Functions can send messages to SQS as task states
More from necatiarslan/awsclaw
awsclaw-dynamodb
Manage Amazon DynamoDB tables and items using awsclaw. Create/delete/update tables, query and scan data, CRUD operations on items, manage TTL, backups, global tables, auto-scaling, and tags.
1awsclaw-iam
Manage and inspect AWS IAM roles, policies, users, groups, access keys, MFA devices, simulate permissions, generate credential reports, and get account summary using awsclaw.
1awsclaw-sts
Get caller identity, assume roles, decode authorization messages, and get temporary credentials using the awsclaw VS Code extension STSTool.
1awsclaw-general
General AWS management in VS Code using awsclaw extension. Covers AWS connectivity, session management, profiles, regions, endpoints, file operations, testing connections, safety model, cross-service discovery, and extension capabilities.
1awsclaw-rdsdata
Run SQL queries and manage transactions on Amazon Aurora Serverless and RDS clusters with Data API enabled using awsclaw. Execute statements, batch operations, and transaction management.
1awsclaw-ec2
Manage and query AWS EC2 resources including launching/stopping/terminating instances, creating VPCs and subnets, managing security groups, volumes, snapshots, AMIs, and querying all EC2 resource types using awsclaw. Full lifecycle management.
1