Hello,
I am working with a SNS to SQS project, in it we want to use the feature `RawMessageBody` when subscribing.
By looking into the code I found that the attributes are not persisted, for example `RawMessageBody` is always set to 'false'. Elsewhere in the code the parameters seems to be correctly used and send transform the message accordingly.

I created a PR fixing this : https://github.com/localstack/localstack/pull/1234
Thank you 
self.subscriber['RawMessageDelivery'] = 'true'
        action = {
            'Message': ['msg'],
            'Subject': ['subject'],
            'MessageAttributes.entry.1.Name': ['attr1'],
            'MessageAttributes.entry.1.Value.DataType': ['String'],
            'MessageAttributes.entry.1.Value.StringValue': ['value1'],
            'MessageAttributes.entry.2.Name': ['attr2'],
            'MessageAttributes.entry.2.Value.DataType': ['Binary'],
            'MessageAttributes.entry.2.Value.BinaryValue': ['value2'.encode('utf-8')],
            'MessageAttributes.entry.3.Name': ['attr3'],
            'MessageAttributes.entry.3.Value.DataType': ['Number'],
            'MessageAttributes.entry.3.Value.StringValue': ['value3'],
        }
        attributes = sns_listener.get_message_attributes(action)
        result = sns_listener.create_sqs_message_attributes(self.subscriber, attributes)
        self.assertEqual(result['attr1']['DataType'], 'String')
        self.assertEqual(result['attr1']['StringValue'], 'value1')
        self.assertEqual(result['attr2']['DataType'], 'Binary')
        self.assertEqual(result['attr2']['BinaryValue'], 'value2'.encode('utf-8'))
        self.assertEqual(result['attr3']['DataType'], 'Number')
        self.assertEqual(result['attr3']['StringValue'], 'value3')
def test_filter_policy():