### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

The format of the message received when using an SNS topic as a lambda DLQ diverges from AWS'.
What is missing is the whole event as received by the lambda to be passed as the `Message` field of the SNS message, and not only the `Message` sent to the lambda. 
Current response from Localstack using snapshot mechanism:

```json
{
  "Body": {
    "Message": {
      "raise_error": 1
    },
    "MessageAttributes": {
      "ErrorCode": {
        "Type": "String",
        "Value": "200"
      },
      "ErrorMessage": {
        "Type": "String",
        "Value": "Lambda process returned with error. Result: {\"errorType\":\"Exception\",\"errorMessage\":\"Test exception (this is intentional)\",\"stackTrace\":[\"  File \\\"/var/task/handler.py\\\", line 126, in handler\\n    raise Exception(\\\"Test exception (this is intentional)\\\")\\n\"]}. Output:\n[32mSTART RequestId: 0bf50aba-256b-11b8-8e3a-93690a4d8bcc Version: $LATEST[0m\nLambda log message - print function\n[INFO]\t2022-08-08T13:36:16.615Z\t0bf50aba-256b-11b8-8e3a-93690a4d8bcc\tLambda log message - logging module\n\n[ERROR] Exception: Test exception (this is intentional)\nTraceback (most recent call last):\n\u00a0\u00a0File \"/var/task/handler.py\", line 126, in handler\n\u00a0\u00a0\u00a0\u00a0raise Exception(\"Test exception (this is intentional)\")\n[32mEND RequestId: 0bf50aba-256b-11b8-8e3a-93690a4d8bcc[0m\n[32mREPORT RequestId: 0bf50aba-256b-11b8-8e3a-93690a4d8bcc\tInit Duration: 361.22 ms\tDuration: 6.06 ms\tBilled Duration: 7 ms\tMemory Size: 1536 MB\tMax Memory Used: 35 MB\t[0m"
      },
      "RequestID": {
        "Type": "String",
        "Value": "<request-id:1>"
      }
    },
    "MessageId": "<uuid:1>",
    "Signature": "<signature>",
    "SignatureVersion": "1",
    "SigningCertURL": "https://sns.<region>.amazonaws.com/SimpleNotificationService-<signing-cert-file:1>",
    "Timestamp": "date",
    "TopicArn": "arn:aws:sns:<region>:111111111111:<resource:1>",
    "Type": "Notification",
    "UnsubscribeURL": "<unsubscribe-domain>/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:<region>:111111111111:<resource:1>:<resource:2>"
  },
  "MD5OfBody": "<md5-hash>",
  "MessageId": "<uuid:2>",
  "ReceiptHandle": "<receipt-handle:1>"
}
 ```

### Expected Behavior

Example message from AWS using the snapshot mechanism:
```json
{
  "Body": {
    "Message": {
      "Records": [
        {
          "EventSource": "aws:sns",
          "EventSubscriptionArn": "arn:aws:sns:<region>:111111111111:<resource:4>:<resource:1>",
          "EventVersion": "1.0",
          "Sns": {
            "Message": {
              "raise_error": 1
            },
            "MessageAttributes": {},
            "MessageId": "<uuid:1>",
            "Signature": "<signature>",
            "SignatureVersion": "1",
            "SigningCertUrl": "https://sns.<region>.amazonaws.com/SimpleNotificationService-<signing-cert-file:1>",
            "Subject": null,
            "Timestamp": "date",
            "TopicArn": "arn:aws:sns:<region>:111111111111:<resource:4>",
            "Type": "Notification",
            "UnsubscribeUrl": "<unsubscribe-domain>/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:<region>:111111111111:<resource:4>:<resource:1>"
          }
        }
      ]
    },
    "MessageAttributes": {
      "ErrorCode": {
        "Type": "Number",
        "Value": "200"
      },
      "ErrorMessage": {
        "Type": "String",
        "Value": "Test exception (this is intentional)"
      },
      "RequestID": {
        "Type": "String",
        "Value": "<request-id:1>"
      }
    },
    "MessageId": "<uuid:2>",
    "Signature": "<signature>",
    "SignatureVersion": "1",
    "SigningCertURL": "https://sns.<region>.amazonaws.com/SimpleNotificationService-<signing-cert-file:1>",
    "Timestamp": "date",
    "TopicArn": "arn:aws:sns:<region>:111111111111:<resource:3>",
    "Type": "Notification",
    "UnsubscribeURL": "<unsubscribe-domain>/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:<region>:111111111111:<resource:3>:<resource:2>"
  },
  "MD5OfBody": "<md5-hash>",
  "MessageId": "<uuid:3>",
  "ReceiptHandle": "<receipt-handle:1>"
}
```

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

Run the SNS test `tests.integration.test_sns.TestSNSProvider.test_sns_topic_as_lambda_dead_letter_queue`, the scenario is already reproduced. 

### Environment

```markdown
- OS: macOS Monterey 12.5
- LocalStack: latest (1.0.4dev)
```


### Anything else?

_No response_
import time
from operator import itemgetter
import pytest
import requests
import xmltodict
from botocore.exceptions import ClientError
from pytest_httpserver import HTTPServer
from werkzeug import Response
from localstack import config
from localstack.aws.accounts import get_aws_account_id
from localstack.services.install import SQS_BACKEND_IMPL
from localstack.services.sns.provider import SNSBackend
from localstack.testing.aws.util import is_aws_cloud
from localstack.utils import testutil
from localstack.utils.net import wait_for_port_closed, wait_for_port_open
from localstack.utils.strings import short_uid
from localstack.utils.sync import poll_condition, retry
from localstack.utils.testutil import check_expected_lambda_log_events_length
from .awslambda.functions import lambda_integration
from .awslambda.test_lambda import (
    LAMBDA_RUNTIME_PYTHON37,
    TEST_LAMBDA_FUNCTION_PREFIX,
    TEST_LAMBDA_LIBS,
    TEST_LAMBDA_PYTHON,
    TEST_LAMBDA_PYTHON_ECHO,
)
PUBLICATION_TIMEOUT = 0.500
PUBLICATION_RETRIES = 4
@pytest.fixture(autouse=True)
def sns_snapshot_transformer(snapshot):