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 
{'filter': ['type1', 'type2']},
            {'filter': {'Type': 'String', 'Value': 'type2'}},
            True
        ),
        (
            'or string filter match with an array',
            {'filter': ['soccer', 'basketball']},
            {'filter': {'Type': 'String.Array', 'Value': "['soccer', 'rugby', 'hockey']"}},
            True
        ),
        (
            'or string filter with no attributes',
            {'filter': ['type1', 'type2']},
            {},
            False
        ),
        (
            'or string filter with no match',
            {'filter': ['type1', 'type2']},
            {'filter': {'Type': 'String', 'Value': 'type3'}},
            False
        ),
        (
            'or string filter no match with an array',
            {'filter': ['volleyball', 'basketball']},
            {'filter': {'Type': 'String.Array', 'Value': "['soccer', 'rugby', 'hockey']"}},
            False
        ),
        (
            'anything-but string filter with match',