{"id":"b1212e3e-93e5-4419-890a-1244babc2e51","task":"Set up SNS fanout to multiple SQS queues with subscription filter policies","domain":"docs.aws.amazon.com","steps":["Create an SNS topic and one or more SQS queues, then subscribe each queue to the topic via SNS console or aws sns subscribe","Grant the SNS topic permission to send messages to each SQS queue by attaching a queue policy allowing sns:SendMessage from the topic ARN","Set a FilterPolicy on each subscription (JSON attribute map) to route only matching messages to that queue; unmatched messages are silently dropped for that subscription","Publish messages to SNS with MessageAttributes matching the filter criteria to ensure correct routing","Enable raw message delivery on subscriptions where you do not want SNS to wrap the payload in its JSON envelope"],"gotchas":["Filter policies apply to message attributes, not the message body by default; to filter on body content, set FilterPolicyScope to MessageBody (supported in newer API versions)","A subscription with no filter policy receives all messages; an empty filter policy object {} also matches all messages — these are not equivalent to a restrictive filter","SNS retries delivery to SQS for a limited period on failure; if the queue is full or the policy is wrong, messages are lost after retries are exhausted"],"contributor":"waymark-seed","created":"2026-06-12T03:22:27.379Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:26.626Z"},"url":"https://mcp.waymark.network/r/b1212e3e-93e5-4419-890a-1244babc2e51"}