Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
To send Amazon SNS topic messages to an Amazon SQS queue, allow that topic to call sqs:SendMessage in the queue’s resource policy, then subscribe the queue to the topic. Give publishers permission to publish and consumers the permissions they need to receive and delete messages. Publish a test message and confirm that the queue and consumer see the expected payload format.
How SNS-to-SQS delivery works
An SNS topic can distribute published messages to subscribed SQS queues. Each queue subscription is a separate delivery destination, so you can route a topic’s messages to multiple consumers. The queue policy is essential: it authorizes SNS to send messages to that specific queue. AWS’s procedure for subscribing an SQS queue to an SNS topic covers the supported setup paths, including the console, API, CLI, SDK, and CloudFormation.
Keep the permissions for delivery, publishing, and consumption distinct. The queue policy authorizes SNS delivery; the principal that publishes needs permission to publish to the topic; and the consumer needs the appropriate permissions to receive and delete messages.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Choose queue behavior before configuring the subscription
Decide whether consumers need every topic message, a selected subset, the original payload or SNS’s notification envelope, and best-effort or FIFO delivery. These choices affect the subscription and how the consumer parses and processes messages.
#1 Best Overall
| Decision | Option | When it fits |
|---|---|---|
| Payload | SNS envelope (default) | Use when consumers need SNS notification metadata as well as the published message. |
| Payload | Raw message delivery | Use when consumers expect the published payload without the SNS envelope; update or verify their parser for that contract. |
| Routing | Deliver all topic messages | Use when every subscriber should receive all messages published to the topic. |
| Routing | Subscription filter policy | Use when a subscriber should receive only messages matching selected attributes or message-body properties. |
| Ordering | Standard queue | Use when best-effort ordering is acceptable. |
| Ordering | FIFO topic and FIFO queue | Use when FIFO ordering and deduplication are requirements, subject to the documented delivery conditions. |
| Failed delivery | Retries only | Use when retaining undeliverable subscription messages for later inspection or reprocessing is not required. |
| Failed delivery | Subscription dead-letter queue (DLQ) | Use when operators need failed deliveries retained for analysis or reprocessing. |
Set up the SNS topic and SQS queue
- Create or select the resources. Choose an SNS topic and SQS queue, and record both resource ARNs. Decide whether the queue and topic should be standard or FIFO based on the delivery requirements above.
- Authorize topic delivery in the queue policy. Add a statement allowing the SNS service to call
sqs:SendMessageon the intended queue, scoped to the ARN of the intended topic. If several topics should send to the queue, authorize each topic explicitly rather than granting broad access. The policy must apply to the queue that will receive the subscription. - Subscribe the queue to the topic. Create an SQS subscription for the topic and verify it points to the intended queue. Use one of the configuration paths in the AWS SNS-to-SQS subscription guide.
- Grant publisher and consumer access. Give the publishing principal permission to publish to the topic. Separately, give the consumer principal the queue permissions it needs to receive and delete messages.
- Publish and verify a test message. Send a test message to the topic, read it from the queue, and confirm the consumer can parse the selected payload format. This validates the subscription and the permissions together.
Choose the payload format and add filtering
Default SNS envelope or raw delivery
By default, SNS sends a notification envelope around the published message. With raw message delivery enabled, SNS sends the message payload as-is instead. This changes what the SQS consumer receives, so choose the format deliberately and make the parser match it. Raw delivery is optional; it is not required to use a subscription filter. See Amazon SNS message delivery and AWS’s instructions for applying a subscription filter policy.
Filter at the subscription
A filter policy controls which messages a particular subscription receives. You can match message attributes or properties in the message body; choose the option that matches how publishers structure their messages. AWS says a filter-policy update can take up to 15 minutes to take effect, so allow for that propagation period before treating a newly saved policy as active. The SNS subscription filter policy documentation explains the available matching behavior.
Rank #2
Use FIFO only when its guarantees matter
An SNS FIFO topic can deliver to either an SQS FIFO queue or a standard queue. Pair FIFO with FIFO when ordering and deduplication are requirements. A standard queue is an option when best-effort ordering is sufficient; it does not provide the FIFO pairing. Review AWS’s guidance on message delivery for FIFO topics before choosing the combination.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11FIFO deduplication depends on delivery conditions, not just selecting FIFO resources. AWS documents conditions that include a permitted queue, timely deletion by the consumer, no subscription filter, and no network disruption that prevents acknowledgement. If deduplication is central to the design, check the full conditions in AWS’s FIFO message deduplication guidance and account for them in the consumer and subscription design.
Rank #3
Plan for subscription delivery failures
An SNS subscription DLQ is an SQS queue that retains messages SNS could not deliver to the subscribed endpoint. It gives operators a place to inspect failures and decide whether messages should be reprocessed. Configure the DLQ’s queue policy to allow SNS to send messages. AWS specifies that the subscription and its DLQ must be in the same AWS account and Region. See Amazon SNS dead-letter queues and the DLQ configuration procedure.
When investigating missing deliveries, distinguish client-side failures—such as stale subscription metadata or a restrictive endpoint policy—from server-side service failures. AWS says SNS does not retry client-side delivery failures; server-side failures follow SNS retry behavior. Check the subscription DLQ for messages that could not be delivered, then use your operational process to analyze or reprocess them.
Rank #4
Understand encryption limits for FIFO resources
For SNS FIFO topics and SQS FIFO queues, AWS KMS encryption covers message bodies, not message attributes or resource metadata. Enabling encryption does not encrypt messages that are already backlogged. Include those limits in your security review, and verify the relevant KMS key permissions when using encrypted FIFO resources. AWS describes this scope in its SNS FIFO message security documentation.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteQuick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

