title: AWS IoT Rule results in empty Payload
body: <p>My weather-station is publishing its status via MQTT to AWS IoT.</p>
  
  <p>The message is published to topic
  <code>$aws/things/my-weather-station-001/shadow/update</code> and  looks like this:</p>
  
  <pre><code>{
   "state": {
     "reported": {
        "temperature" : 22,
        "humidity" : 70,
         ....
        "wind" : 234,
        "air" : 345
     }
   }
  </code></pre>
  
  <p>After message is received I have create a rule to store it in AWS DynamoDB the rules select statement is:</p>
  
  <p><code>SELECT state.reported.* FROM $aws/things/+/shadow/update/accepted</code></p>
  
  <p>And when this works well, whilst I am sending messages containing <code>state.reported</code> field. </p>
  
  <p>However sometimes to the topic <code>$aws/things/weather-station-0001/shadow/update</code> are sent "control" messages telling device to switch on an LED or some other part. These messages would be usually sent by an app or a controlling server and look like this <strong>notice that instead of <code>reported</code> field it has<code>desired</code></strong></p>
  
  <pre><code>{
   "state": {
     "desired": {
        "led1" : "on",
        "locked" : true
     }
   }
  </code></pre>
  
  <p>So when these messages are arriving, they ARE STILL processed by the rule and arrive to the DynamoDb table with <code>{}</code> empty payload.</p>
  
  <p>Is there any way to force the Rule to ignore messages not containing <code>state.reported</code> element?</p>