@@ -553,8 +553,8 @@ def create_inferred_span(event, context):
553
553
def create_inferred_span_from_lambda_function_url_event (event , context ):
554
554
request_context = event .get ("requestContext" )
555
555
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" )
558
558
resource = "{0} {1}" .format (method , path )
559
559
tags = {
560
560
"operation_name" : "aws.lambda.url" ,
@@ -583,11 +583,7 @@ def create_inferred_span_from_lambda_function_url_event(event, context):
583
583
584
584
585
585
def 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"
591
587
592
588
593
589
def create_inferred_span_from_api_gateway_websocket_event (event , context ):
@@ -663,17 +659,17 @@ def create_inferred_span_from_api_gateway_event(event, context):
663
659
def create_inferred_span_from_http_api_event (event , context ):
664
660
request_context = event .get ("requestContext" )
665
661
domain = request_context .get ("domainName" )
666
- method = request_context .get ("http" ).get ("method" )
662
+ method = request_context .get ("http" , {} ).get ("method" )
667
663
path = event .get ("rawPath" )
668
664
resource = "{0} {1}" .format (method , path )
669
665
tags = {
670
666
"operation_name" : "aws.httpapi" ,
671
667
"endpoint" : path ,
672
668
"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" ),
677
673
"resource_names" : resource ,
678
674
"request_id" : context .aws_request_id ,
679
675
"apiid" : request_context .get ("apiId" ),
@@ -710,10 +706,10 @@ def create_inferred_span_from_sqs_event(event, context):
710
706
"queuename" : queue_name ,
711
707
"event_source_arn" : event_source_arn ,
712
708
"receipt_handle" : event_record .get ("receiptHandle" ),
713
- "sender_id" : event_record .get ("attributes" ).get ("SenderId" ),
709
+ "sender_id" : event_record .get ("attributes" , {} ).get ("SenderId" ),
714
710
}
715
711
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" )
717
713
args = {
718
714
"service" : "sqs" ,
719
715
"resource" : queue_name ,
@@ -756,7 +752,7 @@ def create_inferred_span_from_sqs_event(event, context):
756
752
def create_inferred_span_from_sns_event (event , context ):
757
753
event_record = get_first_record (event )
758
754
sns_message = event_record .get ("Sns" )
759
- topic_arn = event_record .get ("Sns" ).get ("TopicArn" )
755
+ topic_arn = event_record .get ("Sns" , {} ).get ("TopicArn" )
760
756
topic_name = topic_arn .split (":" )[- 1 ]
761
757
tags = {
762
758
"operation_name" : "aws.sns" ,
@@ -773,7 +769,7 @@ def create_inferred_span_from_sns_event(event, context):
773
769
774
770
InferredSpanInfo .set_tags (tags , tag_source = "self" , synchronicity = "async" )
775
771
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" )
777
773
dt = datetime .strptime (timestamp , sns_dt_format )
778
774
779
775
args = {
@@ -804,10 +800,12 @@ def create_inferred_span_from_kinesis_event(event, context):
804
800
"event_id" : event_id ,
805
801
"event_name" : event_record .get ("eventName" ),
806
802
"event_version" : event_record .get ("eventVersion" ),
807
- "partition_key" : event_record .get ("kinesis" ).get ("partitionKey" ),
803
+ "partition_key" : event_record .get ("kinesis" , {} ).get ("partitionKey" ),
808
804
}
809
805
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
+ )
811
809
812
810
args = {
813
811
"service" : "kinesis" ,
@@ -839,7 +837,9 @@ def create_inferred_span_from_dynamodb_event(event, context):
839
837
"size_bytes" : str (dynamodb_message .get ("SizeBytes" )),
840
838
}
841
839
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
+ )
843
843
args = {
844
844
"service" : "dynamodb" ,
845
845
"resource" : table_name ,
@@ -856,16 +856,16 @@ def create_inferred_span_from_dynamodb_event(event, context):
856
856
857
857
def create_inferred_span_from_s3_event (event , context ):
858
858
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" )
860
860
tags = {
861
861
"operation_name" : "aws.s3" ,
862
862
"resource_names" : bucket_name ,
863
863
"event_name" : event_record .get ("eventName" ),
864
864
"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" ),
869
869
}
870
870
InferredSpanInfo .set_tags (tags , synchronicity = "async" , tag_source = "self" )
871
871
dt_format = "%Y-%m-%dT%H:%M:%S.%fZ"
0 commit comments