diff --git a/datadog_lambda/trigger.py b/datadog_lambda/trigger.py index b574b8f4..2dffd0b4 100644 --- a/datadog_lambda/trigger.py +++ b/datadog_lambda/trigger.py @@ -39,6 +39,8 @@ def parse_event_source(event): api-gateway | application-load-balancer | cloudwatch-logs | cloudwatch-events | cloudfront | dynamodb | kinesis | s3 | sns | sqs """ + if type(event) is not dict: + return event_source = event.get("eventSource") or event.get("EventSource") request_context = event.get("requestContext") diff --git a/tests/test_trigger.py b/tests/test_trigger.py index bc60e85a..85bd4e6b 100644 --- a/tests/test_trigger.py +++ b/tests/test_trigger.py @@ -330,6 +330,12 @@ def test_extract_trigger_tags_unsupported(self): tags = extract_trigger_tags(event, ctx) self.assertEqual(tags, {}) + def test_extract_trigger_tags_list_type_event(self): + event = [] + ctx = get_mock_context() + tags = extract_trigger_tags(event, ctx) + self.assertEqual(tags, {}) + class ExtractHTTPStatusCodeTag(unittest.TestCase): def test_extract_http_status_code_tag_from_response_dict(self):