diff --git a/sentry_sdk/integrations/aws_lambda.py b/sentry_sdk/integrations/aws_lambda.py index 831cde8999..c232094256 100644 --- a/sentry_sdk/integrations/aws_lambda.py +++ b/sentry_sdk/integrations/aws_lambda.py @@ -61,7 +61,10 @@ def sentry_init_error(*args, **kwargs): else: # Fall back to AWS lambdas JSON representation of the error - sentry_event = _event_from_error_json(json.loads(args[1])) + error_info = args[1] + if isinstance(error_info, str): + error_info = json.loads(error_info) + sentry_event = _event_from_error_json(error_info) sentry_sdk.capture_event(sentry_event) return init_error(*args, **kwargs) diff --git a/tests/integrations/aws_lambda/test_aws.py b/tests/integrations/aws_lambda/test_aws.py index f60bedc846..8bbd33505b 100644 --- a/tests/integrations/aws_lambda/test_aws.py +++ b/tests/integrations/aws_lambda/test_aws.py @@ -316,9 +316,6 @@ def test_handler(event, context): } -@pytest.mark.xfail( - reason="Amazon changed something (2024-10-01) and on Python 3.9+ our SDK can not capture events in the init phase of the Lambda function anymore. We need to fix this somehow." -) def test_init_error(run_lambda_function, lambda_runtime): envelope_items, _ = run_lambda_function( LAMBDA_PRELUDE