AgentSkillsCN

awsflow-sqs

使用 awsflow 管理 Amazon SQS 队列与消息。列出队列,发送/接收/删除消息,管理可见性,清空队列,检查死信队列,获取队列属性与标签。

SKILL.md
--- frontmatter
name: awsflow-sqs
description: Manage Amazon SQS queues and messages using awsflow. List queues, send/receive/delete messages, manage visibility, purge queues, inspect dead letter queues, and get queue attributes and tags.

Awsflow 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

Tool: SQSTool

Execute AWS SQS commands. ALWAYS provide params object.

Commands

ListQueues

List SQS queues.

json
{ "command": "ListQueues", "params": { "QueueNamePrefix": "prod-" } }

Parameters:

ParameterTypeRequiredDescription
QueueNamePrefixstringNoQueue name prefix filter
MaxResultsnumberNoMaximum results
NextTokenstringNoPagination token

GetQueueUrl

Get the URL for a queue by name.

json
{ "command": "GetQueueUrl", "params": { "QueueName": "my-queue" } }

Parameters:

ParameterTypeRequiredDescription
QueueNamestringYesQueue name
QueueOwnerAWSAccountIdstringNoQueue owner account ID (for cross-account)

GetQueueAttributes

Get queue attributes (message count, delay, visibility timeout, policy, etc.).

json
{ "command": "GetQueueAttributes", "params": { "QueueUrl": "https://sqs.us-east-1.amazonaws.com/123456789012/my-queue", "AttributeNames": ["All"] } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL
AttributeNamesarray of stringsNoAttribute names to retrieve. Use ["All"] for all attributes

SendMessage

Send a message to a queue.

json
{ "command": "SendMessage", "params": { "QueueUrl": "https://sqs...", "MessageBody": "Hello World" } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL
MessageBodystringYesMessage body text
DelaySecondsnumberNoDelay before message becomes available
MessageAttributesobjectNoCustom message attributes
MessageDeduplicationIdstringNoDeduplication ID (FIFO queues)
MessageGroupIdstringNoMessage group ID (FIFO queues)

SendMessageBatch

Send multiple messages in a batch.

json
{ "command": "SendMessageBatch", "params": { "QueueUrl": "https://sqs...", "Entries": [{"Id":"1","MessageBody":"msg1"},{"Id":"2","MessageBody":"msg2"}] } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL
Entriesarray of objectsYesBatch entries (up to 10)

ReceiveMessage

Receive messages from a queue.

json
{ "command": "ReceiveMessage", "params": { "QueueUrl": "https://sqs...", "MaxNumberOfMessages": 10, "WaitTimeSeconds": 5 } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL
MaxNumberOfMessagesnumberNoMaximum messages to receive (1-10)
VisibilityTimeoutnumberNoVisibility timeout in seconds
WaitTimeSecondsnumberNoLong polling wait time in seconds
AttributeNamesarray of stringsNoSystem attribute names to retrieve
MessageAttributeNamesarray of stringsNoCustom message attribute names

DeleteMessage

Delete a message from a queue.

json
{ "command": "DeleteMessage", "params": { "QueueUrl": "https://sqs...", "ReceiptHandle": "AQEBw..." } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL
ReceiptHandlestringYesReceipt handle from ReceiveMessage

DeleteMessageBatch

Delete multiple messages in a batch.

json
{ "command": "DeleteMessageBatch", "params": { "QueueUrl": "https://sqs...", "Entries": [{"Id":"1","ReceiptHandle":"AQEBw..."}] } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL
Entriesarray of objectsYesBatch entries with Id and ReceiptHandle

ChangeMessageVisibility

Change visibility timeout of a received message.

json
{ "command": "ChangeMessageVisibility", "params": { "QueueUrl": "https://sqs...", "ReceiptHandle": "AQEBw...", "VisibilityTimeout": 60 } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL
ReceiptHandlestringYesReceipt handle
VisibilityTimeoutnumberYesNew visibility timeout in seconds

ChangeMessageVisibilityBatch

Change visibility for multiple messages.

json
{ "command": "ChangeMessageVisibilityBatch", "params": { "QueueUrl": "https://sqs...", "Entries": [{"Id":"1","ReceiptHandle":"AQEBw...","VisibilityTimeout":60}] } }

PurgeQueue

Delete all messages in a queue.

json
{ "command": "PurgeQueue", "params": { "QueueUrl": "https://sqs..." } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL

ListDeadLetterSourceQueues

List queues that have this queue as their dead letter queue.

json
{ "command": "ListDeadLetterSourceQueues", "params": { "QueueUrl": "https://sqs..." } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesDead letter queue URL
MaxResultsnumberNoMaximum results
NextTokenstringNoPagination token

ListQueueTags

List tags for a queue.

json
{ "command": "ListQueueTags", "params": { "QueueUrl": "https://sqs..." } }

Parameters:

ParameterTypeRequiredDescription
QueueUrlstringYesQueue URL

Related Services

  • SQS → Lambda: SQS queues commonly trigger Lambda functions. Use LambdaTool ListEventSourceMappings to find Lambda consumers
  • SQS → SNS: SNS topics can fan out to SQS queues. Use SNSTool ListSubscriptionsByTopic to find SQS subscriptions
  • SQS → Dead Letter Queues: Failed messages go to DLQ. Use GetQueueAttributes to find the RedrivePolicy which contains the DLQ ARN, then ListDeadLetterSourceQueues to 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 S3Tool GetBucketNotificationConfiguration
  • SQS → Step Functions: Step Functions can send messages to SQS as task states