### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When a new message is created with attributed, message: `{QueueUrl: http://localhost:32921/000000000000/c2e89862-2dd2-48a2-aba7-3948660eaea7,MessageBody: Test msg,DelaySeconds: 0,MessageAttributes: {retryCount={StringValue: 3,StringListValues: [],BinaryListValues: [],DataType: NUMBER}, timeToConsume={StringValue: 0,StringListValues: [],BinaryListValues: [],DataType: NUMBER}},MessageSystemAttributes: {},}` 
it fails to get published in the queue with exception: `com.amazonaws.services.sqs.model.AmazonSQSException: null (Service: AmazonSQS; Status Code: 400; Error Code: 400 ; Request ID: BDFBJI2A19T0WXE9J2GSPA0GO7MGIEOYBTVCCW4L2Z1W1UK6CX8A; Proxy: null)`

**Note: It is published successfully when I remove all attributes**

### Expected Behavior

Publish successfully in the queue

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

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

```
    private static final DockerImageName DOCKER_IMAGE_NAME = DockerImageName.parse("localstack/localstack");
    private static final String DEFAULT_TAG = "0.13.3";
    private final DockerImageName LOCAL_STACK_IMAGE = DOCKER_IMAGE_NAME.withTag(DEFAULT_TAG);

    localstack = new LocalStackContainer(LOCAL_STACK_IMAGE)
                .withServices(localStackService);

     localstack.start();
```

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

#### Creating queue: 
```
public String createQueue(String queueName) {
        log.info("Creating queue with name: {}", queueName);
        try {
            CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueName);
            return amazonSQS.createQueue(createQueueRequest).getQueueUrl();
        } catch (AmazonSQSException e) {
            log.error("Error While Creating Queue: {}", ExceptionUtils.getStackTrace(e));
            throw e;
        }
    }
```

Publish In Queue:
```
    public SendMessageResult publishInQueue(final String queueUrl, final PublishRequestMessage message) throws SQSPublisherException {
        log.info("Publishing Message: {}, in the queue: {}", message.getMessage(), queueUrl);
        try {
            final SendMessageRequest request = getSendMessageRequest(queueUrl, message.getMessage(), message.getMessageProperties());
            return amazonSQS.sendMessage(request);
        } catch (Exception ex) {
            throw new SQSPublisherException("Exception while queuing message: " + message + " ,exception: " + ex);
        }
    }

    private SendMessageRequest getSendMessageRequest(final String queueUrl,
                                                     final String message,
                                                     MessageProperties messageProperties) throws SQSPublisherException {

        messageProperties = handleEmptyProperties(messageProperties);

        Long timeToConsume = messageProperties.getTimeToConsumeMessage();
        Integer deliveryDelay = messageProperties.getDeliveryDelay();
        Integer retryCount = messageProperties.getRetryCount();

        try {
            final SendMessageRequest request = new SendMessageRequest(queueUrl, message)
                    .withMessageAttributes(Collections.unmodifiableMap(
                            getAttributeValueMap(Objects.nonNull(timeToConsume) ? timeToConsume : TIME_TO_CONSUME,
                                    Objects.nonNull(retryCount) ? retryCount : RETRY_COUNT)
                    ));

            int delay = getAllowedDelay(Objects.nonNull(deliveryDelay) ? deliveryDelay : DELIVERY_DELAY);
            request.setDelaySeconds(delay);

            return request;
        } catch (Exception e) {
            throw new SQSPublisherException("Error While Creating Message Request" + e);
        }
    }

    private Map<String, MessageAttributeValue> getAttributeValueMap(final long timeToConsume, final long retryCount) {
        Map<String, MessageAttributeValue> attributeValueMap = new HashMap<>();

        attributeValueMap.put(MessageProperty.RETRY.getDescription(),
                getAttributeValue(SQSAttributeDataType.NUMBER, String.valueOf(retryCount)));
        attributeValueMap.put(MessageProperty.TIME_TO_CONSUME.getDescription(),
                getAttributeValue(SQSAttributeDataType.NUMBER, String.valueOf(timeToConsume)));

        return attributeValueMap;
    }
```


### Environment

```markdown
- OS: macOS Big Sur
- LocalStack: 0.13.3
```


### Anything else?

_No response_
"SmsVerificationMessage": "string",
            "EmailVerificationMessage": "string",
            "EmailVerificationSubject": "string",
            "VerificationMessageTemplate": {
                "SmsMessage": "string",
                "EmailMessage": "string",
                "EmailSubject": "string",
                "EmailMessageByLink": "string",
                "EmailSubjectByLink": "string",
                "DefaultEmailOption": "CONFIRM_WITH_LINK",
            },
            "SmsAuthenticationMessage": "string",
            "MfaConfiguration": "OFF",
            "DeviceConfiguration": {
                "ChallengeRequiredOnNewDevice": True,
                "DeviceOnlyRememberedOnUserPrompt": True,
            },
            "EstimatedNumberOfUsers": 123,
            "EmailConfiguration": {
                "SourceArn": "string",
                "ReplyToEmailAddress": "string",
                "EmailSendingAccount": "COGNITO_DEFAULT",
                "From": "string",
                "ConfigurationSet": "string",
            },
            "SmsConfiguration": {"SnsCallerArn": "string", "ExternalId": "string"},
            "UserPoolTags": {"string": "string"},
            "SmsConfigurationFailure": "string",
            "EmailConfigurationFailure": "string",
            "Domain": "string",