### Is there an existing issue for this?

- [X] I have searched the existing issues and read the documentation

### Question

I'm trying to implement locally DLQ for SNS with SQS, the problem is, on localstack SQS DLQ message coming from SNS have different format than what you would expect in AWS

When I tested locally I received the message in the following format:

`"{\"Action\": [\"Publish\"], \"Message\": [\"(The original SNS message body here)\"], \"TopicArn\": [\"the topic arn in localstack\"], \"Version\": [\"2010-03-31\"]}"`

I'm using local stack 0.14.0 with docker-compose

my docker-compose file looks like this:


```
 aws:
    image: localstack/localstack:0.14.0
    restart: always
    volumes:
      - ./docker-mounts/localstack:/docker-entrypoint-initaws.d
    environment:
      - SERVICES=sqs,s3,ses,sns
      - DEFAULT_REGION=eu-west-1
      - HOSTNAME_EXTERNAL=aws.localtest.local
      - AWS_ACCESS_KEY_ID=foo
      - AWS_SECRET_ACCESS_KEY=bar
      - AWS_DEFAULT_REGION=eu-west-1
```

### Anything else?

_No response_
queue_url = sqs_create_queue()
        try:
            sqs_client.send_message_batch(QueueUrl=queue_url, Entries=[])
        except ClientError as e:
            assert "EmptyBatchRequest" in e.response["Error"]["Code"]
            assert e.response["ResponseMetadata"]["HTTPStatusCode"] in [400, 404]
    def test_tag_untag_queue(self, sqs_client, sqs_create_queue):
        queue_url = sqs_create_queue()
        
        tags = {"tag1": "value1", "tag2": "value2", "tag3": ""}
        sqs_client.tag_queue(QueueUrl=queue_url, Tags=tags)
        
        response = sqs_client.list_queue_tags(QueueUrl=queue_url)
        assert response["Tags"] == tags
        
        sqs_client.untag_queue(QueueUrl=queue_url, TagKeys=["tag1", "tag3"])
        response = sqs_client.list_queue_tags(QueueUrl=queue_url)
        assert response["Tags"] == {"tag2": "value2"}
        
        sqs_client.untag_queue(QueueUrl=queue_url, TagKeys=["tag2"])
        response = sqs_client.list_queue_tags(QueueUrl=queue_url)
        assert "Tags" not in response
    def test_tags_case_sensitive(self, sqs_client, sqs_create_queue):
        queue_url = sqs_create_queue()
        
        tags = {"MyTag": "value1", "mytag": "value2"}
        sqs_client.tag_queue(QueueUrl=queue_url, Tags=tags)
        response = sqs_client.list_queue_tags(QueueUrl=queue_url)
        assert response["Tags"] == tags
    def test_untag_queue_ignores_non_existing_tag(self, sqs_client, sqs_create_queue):