### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When passed to SQS, keys of the messages attributes on SNS are renamed from StringValue to Value and DataType to Type.

### Expected Behavior

The keys should not be renamed

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

#### Flow
 - Create a SQS Queue
 - Create a SNS Topic
 - Configure a Subscription of the new Topic that sends to the SQS queue (specify a raw delivery at true)
 - Publish a message to SNS Topic with attribute { DataType: "string", StringValue: "anything"}
 - Attributes are no more StringValue but just value. 

(can't provide more, I have issues with my awslocal, I got this issue with the PHP client initially)

### Environment

```markdown
- OS: Docker Desktop for mac
- LocalStack: 1.4
```


### Anything else?

The AWS SNS official documentation : https://docs.aws.amazon.com/sns/latest/api/API_MessageAttributeValue.html


MR for fix is coming
if "default" not in message and not is_endpoint_publish:
                    raise InvalidParameterException(
                        "Invalid parameter: Message Structure - No default entry in JSON message body"
                    )
            except json.JSONDecodeError:
                raise InvalidParameterException(
                    "Invalid parameter: Message Structure - JSON message body failed to parse"
                )
        if message_attributes:
            validate_message_attributes(message_attributes)
        if not phone_number:
            
            parsed_arn = parse_and_validate_topic_arn(topic_or_target_arn)
            store = self.get_store(account_id=parsed_arn["account"], region_name=context.region)
            moto_sns_backend = self.get_moto_backend(parsed_arn["account"], context.region)
            if is_endpoint_publish:
                if target_arn not in moto_sns_backend.platform_endpoints:
                    raise InvalidParameterException(
                        "Invalid parameter: TargetArn Reason: No endpoint found for the target arn specified"
                    )
            else:
                if topic_or_target_arn not in store.topic_subscriptions:
                    raise NotFoundException(
                        "Topic does not exist",
                    )
        else:
            
            store = self.get_store(account_id=context.account_id, region_name=context.region)