@@ -553,8 +553,8 @@ def create_inferred_span(event, context):
553553def create_inferred_span_from_lambda_function_url_event (event , context ):
554554 request_context = event .get ("requestContext" )
555555 domain = request_context .get ("domainName" )
556- method = request_context .get ("http" ).get ("method" )
557- path = request_context .get ("http" ).get ("path" )
556+ method = request_context .get ("http" , {} ).get ("method" )
557+ path = request_context .get ("http" , {} ).get ("path" )
558558 resource = "{0} {1}" .format (method , path )
559559 tags = {
560560 "operation_name" : "aws.lambda.url" ,
@@ -583,11 +583,7 @@ def create_inferred_span_from_lambda_function_url_event(event, context):
583583
584584
585585def is_api_gateway_invocation_async (event ):
586- return (
587- "headers" in event
588- and "X-Amz-Invocation-Type" in event .get ("headers" )
589- and event .get ("headers" ).get ("X-Amz-Invocation-Type" ) == "Event"
590- )
586+ return event .get ("headers" , {}).get ("X-Amz-Invocation-Type" ) == "Event"
591587
592588
593589def create_inferred_span_from_api_gateway_websocket_event (event , context ):
@@ -663,17 +659,17 @@ def create_inferred_span_from_api_gateway_event(event, context):
663659def create_inferred_span_from_http_api_event (event , context ):
664660 request_context = event .get ("requestContext" )
665661 domain = request_context .get ("domainName" )
666- method = request_context .get ("http" ).get ("method" )
662+ method = request_context .get ("http" , {} ).get ("method" )
667663 path = event .get ("rawPath" )
668664 resource = "{0} {1}" .format (method , path )
669665 tags = {
670666 "operation_name" : "aws.httpapi" ,
671667 "endpoint" : path ,
672668 "http.url" : domain + path ,
673- "http.method" : request_context .get ("http" ).get ("method" ),
674- "http.protocol" : request_context .get ("http" ).get ("protocol" ),
675- "http.source_ip" : request_context .get ("http" ).get ("sourceIp" ),
676- "http.user_agent" : request_context .get ("http" ).get ("userAgent" ),
669+ "http.method" : request_context .get ("http" , {} ).get ("method" ),
670+ "http.protocol" : request_context .get ("http" , {} ).get ("protocol" ),
671+ "http.source_ip" : request_context .get ("http" , {} ).get ("sourceIp" ),
672+ "http.user_agent" : request_context .get ("http" , {} ).get ("userAgent" ),
677673 "resource_names" : resource ,
678674 "request_id" : context .aws_request_id ,
679675 "apiid" : request_context .get ("apiId" ),
@@ -710,10 +706,10 @@ def create_inferred_span_from_sqs_event(event, context):
710706 "queuename" : queue_name ,
711707 "event_source_arn" : event_source_arn ,
712708 "receipt_handle" : event_record .get ("receiptHandle" ),
713- "sender_id" : event_record .get ("attributes" ).get ("SenderId" ),
709+ "sender_id" : event_record .get ("attributes" , {} ).get ("SenderId" ),
714710 }
715711 InferredSpanInfo .set_tags (tags , tag_source = "self" , synchronicity = "async" )
716- request_time_epoch = event_record .get ("attributes" ).get ("SentTimestamp" )
712+ request_time_epoch = event_record .get ("attributes" , {} ).get ("SentTimestamp" )
717713 args = {
718714 "service" : "sqs" ,
719715 "resource" : queue_name ,
@@ -756,7 +752,7 @@ def create_inferred_span_from_sqs_event(event, context):
756752def create_inferred_span_from_sns_event (event , context ):
757753 event_record = get_first_record (event )
758754 sns_message = event_record .get ("Sns" )
759- topic_arn = event_record .get ("Sns" ).get ("TopicArn" )
755+ topic_arn = event_record .get ("Sns" , {} ).get ("TopicArn" )
760756 topic_name = topic_arn .split (":" )[- 1 ]
761757 tags = {
762758 "operation_name" : "aws.sns" ,
@@ -773,7 +769,7 @@ def create_inferred_span_from_sns_event(event, context):
773769
774770 InferredSpanInfo .set_tags (tags , tag_source = "self" , synchronicity = "async" )
775771 sns_dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
776- timestamp = event_record .get ("Sns" ).get ("Timestamp" )
772+ timestamp = event_record .get ("Sns" , {} ).get ("Timestamp" )
777773 dt = datetime .strptime (timestamp , sns_dt_format )
778774
779775 args = {
@@ -804,10 +800,12 @@ def create_inferred_span_from_kinesis_event(event, context):
804800 "event_id" : event_id ,
805801 "event_name" : event_record .get ("eventName" ),
806802 "event_version" : event_record .get ("eventVersion" ),
807- "partition_key" : event_record .get ("kinesis" ).get ("partitionKey" ),
803+ "partition_key" : event_record .get ("kinesis" , {} ).get ("partitionKey" ),
808804 }
809805 InferredSpanInfo .set_tags (tags , tag_source = "self" , synchronicity = "async" )
810- request_time_epoch = event_record .get ("kinesis" ).get ("approximateArrivalTimestamp" )
806+ request_time_epoch = event_record .get ("kinesis" , {}).get (
807+ "approximateArrivalTimestamp"
808+ )
811809
812810 args = {
813811 "service" : "kinesis" ,
@@ -839,7 +837,9 @@ def create_inferred_span_from_dynamodb_event(event, context):
839837 "size_bytes" : str (dynamodb_message .get ("SizeBytes" )),
840838 }
841839 InferredSpanInfo .set_tags (tags , synchronicity = "async" , tag_source = "self" )
842- request_time_epoch = event_record .get ("dynamodb" ).get ("ApproximateCreationDateTime" )
840+ request_time_epoch = event_record .get ("dynamodb" , {}).get (
841+ "ApproximateCreationDateTime"
842+ )
843843 args = {
844844 "service" : "dynamodb" ,
845845 "resource" : table_name ,
@@ -856,16 +856,16 @@ def create_inferred_span_from_dynamodb_event(event, context):
856856
857857def create_inferred_span_from_s3_event (event , context ):
858858 event_record = get_first_record (event )
859- bucket_name = event_record .get ("s3" ).get ("bucket" ).get ("name" )
859+ bucket_name = event_record .get ("s3" , {} ).get ("bucket" , {} ).get ("name" )
860860 tags = {
861861 "operation_name" : "aws.s3" ,
862862 "resource_names" : bucket_name ,
863863 "event_name" : event_record .get ("eventName" ),
864864 "bucketname" : bucket_name ,
865- "bucket_arn" : event_record .get ("s3" ).get ("bucket" ).get ("arn" ),
866- "object_key" : event_record .get ("s3" ).get ("object" ).get ("key" ),
867- "object_size" : str (event_record .get ("s3" ).get ("object" ).get ("size" )),
868- "object_etag" : event_record .get ("s3" ).get ("object" ).get ("eTag" ),
865+ "bucket_arn" : event_record .get ("s3" , {} ).get ("bucket" , {} ).get ("arn" ),
866+ "object_key" : event_record .get ("s3" , {} ).get ("object" , {} ).get ("key" ),
867+ "object_size" : str (event_record .get ("s3" , {} ).get ("object" , {} ).get ("size" )),
868+ "object_etag" : event_record .get ("s3" , {} ).get ("object" , {} ).get ("eTag" ),
869869 }
870870 InferredSpanInfo .set_tags (tags , synchronicity = "async" , tag_source = "self" )
871871 dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
0 commit comments