def lambda_handler()

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
        }),
    }