title: Routing messages from Amazon SNS to SQS with filtering
body: <p>In RabbitMQ, one can create an exchange, then bind it to multiple queues, each with a routing key. This enables messaging architectures like this:</p>
  
  <pre><code>           message_x
           /    |     \
  foo-msg_q  bar-msg_q  msg-logger_q
  </code></pre>
  
  <p>Clients publish messages to the <code>message_x</code> exchange, which routes <strong>only</strong> messages with routing key "foo" to the <code>foo-msg_q</code> queue, <strong>only</strong> messages with the routing key "bar" to the <code>bar-msg_q</code> queue, and <strong>all</strong> messages to <code>msg-logger_q</code> queue.</p>
  
  <p>I'm having trouble figuring out how to do this in AWS. My first thought was to set up permissions on the individual queues to accept messages based on subject, but the only available fields for permission conditions are:</p>
  
  <ul>
  <li>aws:CurrentTime</li>
  <li>aws:EpochTime</li>
  <li>aws:MultiFactorAuthAge</li>
  <li>aws:principaltype</li>
  <li>aws:SecureTransport</li>
  <li>aws:SourceArn</li>
  <li>aws:SourceIp</li>
  <li>aws:UserAgent</li>
  <li>aws:userid</li>
  <li>aws:username</li>
  </ul>
  
  <p>None of these seem like they can be influenced by any message I publish to the <code>message_x</code> topic.</p>
  
  <p>Is it possible to doing something like this when using Amazon Simple Notification Service to fan out to multiple Simple Queue Service queues, with each queue receiving a subset of messages published to the topic?</p>