May be a duplicate of https://github.com/localstack/localstack/issues/988 but due to the age I will re raise.

I'm having issues when I throw an exception in a lambda - it isn't appearing on my dead letter queue. Is there something I am missing, I would like an sqs event exception to appear on the poison queue when an exception happens.

Below is the basic config:
 ````
    sqsclient.create_queue(QueueName = 'test-queue')
    sqsclient.create_queue(QueueName = 'test-queue-poison')

    lambda_client.create_function(
            FunctionName='MyFunction',
            Runtime='dotnetcore2.1',
            Role='role',
            Handler='Handler',
            Code=code,
	    DeadLetterConfig={'TargetArn': 'test-queue-poison-arn'})

     lambda_client.create_event_source_mapping(
		EventSourceArn='test-queue-arn',
		FunctionName='MyFunction',
		Enabled=True,
		BatchSize=100,
		StartingPosition='LATEST')
````

So when I raise a new (.net)exception within the lambda function no message is going to the dead letter queue. I can confirm that all is attached together OK as all other scenarios work, and the above code is pseudo-ish.
headers={'User-Agent': 'python-requests/testing'})
        self.assertEqual(result.status_code, 203)
        self.assertEqual(result.headers.get('foo'), 'bar123')
        parsed_body = json.loads(to_str(result.content))
        self.assertEqual(parsed_body.get('return_status_code'), 203)
        self.assertDictEqual(parsed_body.get('return_headers'), {'foo': 'bar123'})
        self.assertDictEqual(parsed_body.get('queryStringParameters'), {'foo': 'foo', 'bar': ['bar', 'baz']})
        request_context = parsed_body.get('requestContext')
        source_ip = request_context['identity'].pop('sourceIp')
        self.assertTrue(re.match(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$', source_ip))
        self.assertEqual(request_context['path'], '/lambda/foo1')
        self.assertEqual(request_context['accountId'], TEST_AWS_ACCOUNT_ID)
        self.assertEqual(request_context['resourceId'], resource.get('id'))
        self.assertEqual(request_context['stage'], self.TEST_STAGE_NAME)
        self.assertEqual(request_context['identity']['userAgent'], 'python-requests/testing')
        result = requests.delete(url, data=json.dumps(data))
        self.assertEqual(result.status_code, 404)
        
        body_msg = '🙀 - 参よ'
        result = requests.post(url, data=json.dumps({'return_raw_body': body_msg}))
        self.assertEqual(to_str(result.content), body_msg)
    def test_api_gateway_lambda_proxy_integration_any_method(self):
        self._test_api_gateway_lambda_proxy_integration_any_method(
            self.TEST_LAMBDA_PROXY_BACKEND_ANY_METHOD,
            self.API_PATH_LAMBDA_PROXY_BACKEND_ANY_METHOD)
    def test_api_gateway_lambda_proxy_integration_any_method_with_path_param(self):
        self._test_api_gateway_lambda_proxy_integration_any_method(
            self.TEST_LAMBDA_PROXY_BACKEND_ANY_METHOD_WITH_PATH_PARAM,
            self.API_PATH_LAMBDA_PROXY_BACKEND_ANY_METHOD_WITH_PATH_PARAM)
    def test_api_gateway_authorizer_crud(self):