Overview
Amazon SQS (Simple Queue Service) is AWS's managed message queue – decoupled async messaging between producers + consumers. The Automize AWS SQS connector covers queue lifecycle, send/receive/delete messages, batch ops, and dead-letter queue management.
- Regions: SQS is regional. Queues are regional resources – cross-region access requires the consumer to call the queue's region.
- Plans: Pay-as-you-go per request + per GB data transfer. Free tier 1M requests/month.
Setting up the connection
Auth type: aws_sigv4.
- AWS Console → IAM → create user + access keys.
- Attach policy with sqs:SendMessage, sqs:ReceiveMessage, sqs:DeleteMessage on the queue ARNs you need.
- In Automize, open Settings → Connectors → AWS SQS → Add connection. Paste keys + region.
Find your credentials at https://us-east-1.console.aws.amazon.com/iam/home.
Rate limits
SQS scales to thousands of TPS per queue. FIFO queues 300 TPS (3000 with batching). Default visibility timeout 30 sec – extend with Change Message Visibility for slow consumers.
Data model
Queues + messages:
Queue ─┬─ Standard (best-effort order, at-least-once delivery, ~unlimited TPS)
├─ FIFO (strict order, exactly-once, .fifo suffix, 300 TPS)
└─ Dead-Letter Queue (failed messages auto-moved here after redrive policy threshold)Available operations
14 operations available. Click any row to jump to its detail.
| Operation | Category | What it does |
|---|---|---|
| Change Message Visibility | General | Change the visibility timeout of a message |
| Create Queue | General | Create a new SQS queue |
| Delete Message | General | Delete a message from a queue |
| Delete Message Batch | General | Delete up to 10 messages in a single request |
| Delete Queue | General | Delete an SQS queue |
| Get Queue Attributes | General | Get attributes of a queue |
| Get Queue URL | General | Get the URL of a queue by name |
| List Dead Letter Source Queues | General | List queues that have this queue as their dead-letter queue |
| List Queues | General | List SQS queues |
| Purge Queue | General | Delete all messages from a queue |
| Receive Message | General | Receive messages from a queue |
| Send Message | General | Send a message to a queue |
| Send Message Batch | General | Send up to 10 messages in a single request |
| Set Queue Attributes | General | Set attributes on a queue |
Operations
Change Message Visibility
Change the visibility timeout of a message
No input parameters.
Tips
- Extend visibility timeout for in-flight messages. Use when processing takes longer than default.
Create Queue
Create a new SQS queue
No input parameters.
Tips
- FIFO: append .fifo suffix to name + set FifoQueue=true attribute.
- ContentBasedDeduplication=true skips manual deduplication ID for FIFO.
Delete Message
Delete a message from a queue
No input parameters.
Tips
- Once processed, delete by ReceiptHandle. Failure to delete = redeliver after visibility timeout.
Delete Message Batch
Delete up to 10 messages in a single request
No input parameters.
Tips
- Up to 10 ReceiptHandles per call.
Delete Queue
Delete an SQS queue
No input parameters.
Tips
- Eventual deletion (~60 sec). Messages in flight may still be delivered briefly.
Get Queue Attributes
Get attributes of a queue
No input parameters.
Tips
- Returns visibility timeout, retention period, message counts (Approximate*), redrive policy.
Get Queue URL
Get the URL of a queue by name
No input parameters.
Tips
- Translate a queue name into its URL. Most ops take URL, not name.
List Dead Letter Source Queues
List queues that have this queue as their dead-letter queue
No input parameters.
Tips
- Find queues that have this one as their DLQ – useful for understanding redrive topology.
List Queues
List SQS queues
No input parameters.
Tips
- Filter via queue_name_prefix to scope. Pages 1,000 per call.
Purge Queue
Delete all messages from a queue
No input parameters.
Tips
- Deletes ALL messages. Irreversible. Use only for test/dev queues.
Receive Message
Receive messages from a queue
No input parameters.
Tips
- MaxNumberOfMessages: 1-10 (default 1). WaitTimeSeconds: 0-20 (long polling – uses 0 by default, set 20 for efficient continuous consume).
- VisibilityTimeout override (default queue setting).
Send Message
Send a message to a queue
No input parameters.
Tips
- MessageBody: string (up to 256 KB). For larger, store payload in S3 + put the S3 ref in the body.
- FIFO needs MessageGroupId (orders within group) + MessageDeduplicationId (or content-based).
Send Message Batch
Send up to 10 messages in a single request
No input parameters.
Tips
- Up to 10 messages per call. Each gets a unique Id within the batch.
Set Queue Attributes
Set attributes on a queue
No input parameters.
Tips
- Update one attribute at a time. RedrivePolicy: {deadLetterTargetArn, maxReceiveCount}.
FAQ
- Standard vs FIFO – which?
- Standard: ~unlimited TPS, best-effort order, possible duplicates. FIFO: 300 TPS (3000 with high throughput mode), strict order, exactly-once. Use FIFO when order/dedup matters; Standard otherwise.
- Long vs short polling?
- Short (WaitTimeSeconds=0): returns immediately, often empty. Long (WaitTimeSeconds=20): waits up to 20s for a message – cuts request count + cost dramatically. Always use long polling for consumers.
- Dead-letter queue – how?
- Create a separate queue, set RedrivePolicy on the source: {deadLetterTargetArn:'arn-of-dlq', maxReceiveCount:5}. After 5 failed deletes, message auto-moves to DLQ for inspection.
- Why do I see the same message twice?
- Standard queues are at-least-once – duplicates can occur. Make consumers idempotent (use MessageDeduplicationId in payload) or switch to FIFO.