Skip to content

Commit dd9461f

Browse files
committed
event
1 parent 0dd5778 commit dd9461f

15 files changed

+737
-239
lines changed

lambdas/id_sync/src/id_sync.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from common.clients import logger
22
from common.clients import STREAM_NAME
33
from common.log_decorator import logging_decorator
4+
from common.aws_lambda_event import AwsLambdaEvent
5+
from common.aws_lambda_sqs_event_record import AwsLambdaSqsEventRecord
46
from record_processor import process_record
57

68
'''
@@ -10,31 +12,29 @@
1012

1113

1214
@logging_decorator(prefix="id_sync", stream_name=STREAM_NAME)
13-
def handler(event, _):
15+
def handler(event_data, _):
1416

1517
try:
16-
if "Records" in event:
17-
logger.info("Processing S3 event with %d records", len(event.get('Records', [])))
18-
record_count = len(event.get('Records', []))
19-
if record_count == 0:
20-
logger.info("No records found in event")
21-
return {"status": "success", "message": "No records found in event"}
18+
event = AwsLambdaEvent(event_data)
19+
record_count = len(event.records)
20+
if record_count > 0:
21+
logger.info("Processing SQS event with %d records", record_count)
22+
error_count = 0
23+
file_keys = []
24+
for record in event.records:
25+
record: AwsLambdaSqsEventRecord
26+
record_result = process_record(record, None)
27+
file_keys.append(record_result["file_key"])
28+
if record_result["status"] == "error":
29+
error_count += 1
30+
if error_count > 0:
31+
logger.error("Processed %d records with %d errors", record_count, error_count)
32+
return {"status": "error", "message": f"Processed {record_count} records with {error_count} errors",
33+
"file_keys": file_keys}
2234
else:
23-
error_count = 0
24-
file_keys = []
25-
for record in event.get('Records', []):
26-
record_result = process_record(record, None)
27-
file_keys.append(record_result["file_key"])
28-
if record_result["status"] == "error":
29-
error_count += 1
30-
if error_count > 0:
31-
logger.error("Processed %d records with %d errors", record_count, error_count)
32-
return {"status": "error", "message": f"Processed {record_count} records with {error_count} errors",
33-
"file_keys": file_keys}
34-
else:
35-
logger.info("Successfully processed all %d records", record_count)
36-
return {"status": "success", "message": f"Successfully processed {record_count} records",
37-
"file_keys": file_keys}
35+
logger.info("Successfully processed all %d records", record_count)
36+
return {"status": "success", "message": f"Successfully processed {record_count} records",
37+
"file_keys": file_keys}
3838
else:
3939
logger.info("No records found in event")
4040
return {"status": "success", "message": "No records found in event"}
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
'''
22
record Processor
33
'''
4+
from common.aws_lambda_sqs_event_record import AwsLambdaSqsEventRecord
5+
from common.clients import logger
46

57

6-
def process_record(record, _):
8+
def process_record(event_record, _):
9+
record = AwsLambdaSqsEventRecord(event_record) if isinstance(event_record, dict) else event_record
10+
logger.info("Processing record: %s", record)
711
return f"hello world {record}"

lambdas/id_sync/tests/test_handler.py

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)