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': ['test1', 'test2', {'prefix': 'typ'}]},
            {'filter': {'Type': 'String.Array', 'Value': "['anything', 'something']"}},
            False
        ),
        (
            'logical AND with match',
            {'filter': [{'numeric': ['=', 300]}], 'other': [{'prefix': 'typ'}]},
            {'filter': {'Type': 'Number', 'Value': 300}, 'other': {'Type': 'String', 'Value': 'type1'}},
            True
        ),
        (
            'logical AND missing first attribute',
            {'filter': [{'numeric': ['=', 300]}], 'other': [{'prefix': 'typ'}]},
            {'other': {'Type': 'String', 'Value': 'type1'}},
            False
        ),
        (
            'logical AND missing second attribute',
            {'filter': [{'numeric': ['=', 300]}], 'other': [{'prefix': 'typ'}]},
            {'filter': {'Type': 'Number', 'Value': 300}},
            False
        ),
        (
            'logical AND no match',
            {'filter': [{'numeric': ['=', 300]}], 'other': [{'prefix': 'typ'}]},
            {'filter': {'Type': 'Number', 'Value': 299}, 'other': {'Type': 'String', 'Value': 'type1'}},
            False
        ),
        (
            'multiple numeric filters with first match',