@@ -62,9 +62,32 @@ def create_boto3_clients():
62
62
63
63
def lambda_handler (event , context ):
64
64
logger .info ("Lambda invocation started (structured)." )
65
-
65
+
66
66
clients = create_boto3_clients ()
67
67
68
+ # Delete state file before proceeding
69
+ try :
70
+ s3 = boto3 .client ("s3" )
71
+ objects = s3 .list_objects_v2 (Bucket = config ["SOURCE_TARGET_BUCKET" ], Prefix = "state" )
72
+ if 'Contents' in objects :
73
+ for obj in objects ['Contents' ]:
74
+ s3 .delete_object (Bucket = config ["SOURCE_TARGET_BUCKET" ], Key = obj ["Key" ])
75
+ # logger.info(f"Delete complete{obj}")
76
+ except Exception as e :
77
+ logger .info ("Failed to delete S3 states folder: %s" , str (e ))
78
+
79
+ # Delete Chunk files before proceeding
80
+
81
+ try :
82
+ s3 = boto3 .client ("s3" )
83
+ objects = s3 .list_objects_v2 (Bucket = config ["SOURCE_TARGET_BUCKET" ], Prefix = "chunks" )
84
+ if 'Contents' in objects :
85
+ for obj in objects ['Contents' ]:
86
+ s3 .delete_object (Bucket = config ["SOURCE_TARGET_BUCKET" ], Key = obj ["Key" ])
87
+ # logger.info(f"Delete complete{obj}")
88
+ except Exception as e :
89
+ logger .info ("Failed to delete S3 chunks folder: %s" , str (e ))
90
+
68
91
# Handle concurrency limit
69
92
current_concurrency = event .get ("current_concurrency" , 1 )
70
93
if current_concurrency > config ["MAX_CONCURRENCY" ]:
@@ -149,6 +172,9 @@ def process_assessments(event, context, current_concurrency, clients):
149
172
with open (chunk_file_local , "w" , newline = "" ) as csvfile :
150
173
writer = csv .writer (csvfile )
151
174
writer .writerow (OUTPUT_HEADER )
175
+ # Log the creation of the chunk file
176
+ logger .info (f"Created chunk file at { chunk_file_local } " )
177
+
152
178
153
179
all_evidence_pages = get_all_evidence_paginated (
154
180
clients ["auditmanager" ], assessment_id , control_set_id , folder_id
0 commit comments