in src/api/app.py [0:0]
def lambda_handler(event, context):
try:
body = json.loads(event["body"])
job_id = str(uuid.uuid4())
logger.info(body)
logger.info(job_id)
bucket_name = body["bucket"]
object_key = body["key"]
response = s3_client.get_object(Bucket=bucket_name, Key=object_key)
data = response["Body"].read().decode("utf-8").splitlines()
check_bucket_subscription(data)
batch_job = create_job(event, body, job_id)
num_files = dynamodb_insert(job_id, data, batch_job)
except Exception as e:
logger.error(e)
return {
"statusCode": 500,
"body": json.dumps({"Error": str(e)}),
}
bucket_arn = arnparse(REPORT_BUCKET)
report_bucket = bucket_arn.resource
return {
"statusCode": 200,
"body": json.dumps({
"SNSTopic": SNS_TOPIC,
"SQSQueue": SQS_TOPIC_QUEUE,
"ReportBucket": report_bucket,
"BulkJobId": job_id,
"TotalFilesRequested": num_files,
"BatchOperation": batch_job
}),
}