1
1
from aws_lambda_powertools .utilities .data_classes import S3Event , SQSEvent , SNSEvent , EventBridgeEvent , KinesisFirehoseEvent
2
2
from aws_lambda_powertools .utilities .data_classes .sns_event import SNSMessage
3
- from aws_lambda_powertools .utilities .data_classes .ses_event import SESMessage
3
+ from aws_lambda_powertools .utilities .data_classes .ses_event import SESEventRecord , SESMailCommonHeaders
4
4
from aws_lambda_powertools .utilities .data_classes .cloud_watch_logs_event import CloudWatchLogsLogEvent
5
5
from aws_lambda_powertools .utilities .data_classes .s3_event import S3EventBridgeNotificationDetail
6
6
import aws_lambda_powertools .utilities .data_classes .nested_test_events as nested_test_events
7
7
8
8
9
-
10
9
def lambda_handler_sqs_s3 (event : SQSEvent = nested_test_events .sqs_s3_event ): # sqs(s3)
11
10
sqs_event = SQSEvent (event )
12
11
s3_event = sqs_event .decode_nested_events (S3Event )
@@ -41,21 +40,28 @@ def lambda_handler_sqs_s3_multi(event: SQSEvent = nested_test_events.sqs_s3_mult
41
40
print ('sqs_s3_multi_event bucket:' , rec .bucket_name )
42
41
43
42
44
- def lambda_handler_sqs_sns_s3 (event : SQSEvent = nested_test_events .sqs_sns_s3_event ): # sqs(sns(s3))
43
+ def lambda_handler_sqs_sns_s3_direct (event : SQSEvent = nested_test_events .sqs_sns_s3_event ): # sqs(sns(s3))
45
44
sqs_event = SQSEvent (event )
46
- sns_event = sqs_event .decode_nested_events (SNSMessage )
47
- for rec in sns_event :
48
- # print('sns rec:', type(rec), rec)
49
- # print('sns message:', rec.message)
45
+ sns_event = sqs_event .decode_nested_event (SNSMessage )
46
+ s3_event = sns_event .decode_nested_event (S3Event )
47
+ print ('sqs_sns_s3_direct bucket:' , s3_event .bucket_name )
50
48
51
- s3_event = rec .decode_nested_events (S3Event )
52
- # print('s3 rec:', type(s3_event), s3_event)
53
- print ('sqs_sns_s3_event bucket:' , next (s3_event ).bucket_name )
49
+
50
+ def lambda_handler_sqs_sns_s3 (event : SQSEvent = nested_test_events .sqs_sns_s3_event ): # sqs(sns(s3))
51
+ sqs_event = SQSEvent (event )
52
+ for rec in sqs_event :
53
+ sns_event = sqs_event .decode_nested_events (SNSMessage )
54
+ for rec in sns_event :
55
+ # print('rec:', type(rec), rec)
56
+ s3_event = rec .decode_nested_events (S3Event )
57
+ for r in s3_event :
58
+ # print(type(r))
59
+ print ('sqs_sns_s3 bucket:' , r .bucket_name )
54
60
55
61
56
62
def lambda_handler_sns_ses (event : SNSEvent = nested_test_events .sns_ses_event ): # sns(ses)
57
63
sns_event = SNSEvent (event )
58
- ses_event = sns_event .decode_nested_events (SESMessage )
64
+ ses_event = sns_event .decode_nested_events (SESEventRecord )
59
65
for rec in ses_event :
60
66
# print('rec:', type(rec), rec)
61
67
print ('sns_ses_event email:' , rec .get ("mail" ).get ('source' ))
@@ -68,6 +74,7 @@ def lambda_handler_eb_s3(event: EventBridgeEvent = nested_test_events.eb_s3_even
68
74
# print('type:', type(rec))
69
75
print ('eb_s3_event bucket:' , rec .bucket .name )
70
76
77
+
71
78
def lambda_handler_sqs_eb_s3 (event : nested_test_events .sqs_eb_s3_event ): # sqs(eventbridge(s3))
72
79
sqs_event = SQSEvent (event )
73
80
for rec in sqs_event :
@@ -79,10 +86,10 @@ def lambda_handler_sqs_eb_s3(event: nested_test_events.sqs_eb_s3_event): # sqs(e
79
86
# print(type(r))
80
87
print ('sqs_eb_s3_event bucket:' , r .bucket .name )
81
88
89
+
82
90
def lambda_handler_firehose_sns_event (event = nested_test_events .firehose_sns_event ): # firehose(sns)
83
91
firehose_event = KinesisFirehoseEvent (event )
84
92
sns_event = firehose_event .decode_nested_events (SNSMessage )
85
- #just gives back the encrypted data, so can't cast it into SNSEvent, have to decrypt it and then cast it to get the SNSEvent
86
93
for rec in sns_event :
87
94
print ('firehose_sns_event message:' , rec .message )
88
95
@@ -94,7 +101,7 @@ def lambda_handler_firehose_sns_event(event = nested_test_events.firehose_sns_ev
94
101
# print('type:', type(rec), rec)
95
102
96
103
97
-
104
+ lambda_handler_sqs_sns_s3_direct ( nested_test_events . sqs_sns_s3_event )
98
105
lambda_handler_sqs_s3 (nested_test_events .sqs_s3_event )
99
106
lambda_handler_sqs_s3_single (nested_test_events .sqs_s3_event )
100
107
lambda_handler_sqs_sns (nested_test_events .sqs_sns_event )
0 commit comments