def api_handler()

in tools/fixity/lambda/driver/app.py [0:0]


def api_handler(event, context):

    body = ''
    status = 400
    sourceBucket = ''
    sourceKey = ''

    try:
        logger.debug('## EVENT\r' + jsonpickle.encode(dict(**event)))

        if event['queryStringParameters'] and 'bucket' in event['queryStringParameters'] and 'key' in event['queryStringParameters']:

            sourceBucket = event['queryStringParameters']['bucket']
            sourceKey=  event['queryStringParameters']['key']

            batch_job_id = _submit_job(sourceBucket, sourceKey)
            body = {"JobId" : batch_job_id }

        else:
            status = 400
            body = {"Error": {"Code": 400, "Message": ' \'bucket\' and \'key\' are required query parameters'}}


    except ClientError as e:
        errorCode = e.response['Error']['Code']
        errorMessage = e.response['Error']['Message']

        logger.debug(errorMessage)
        body = {"Error": {"Code": errorCode, "Message": errorMessage}}
        status = 500

    except Exception as e:
        logger.error(e)

        body =  {"Error": {"Code": 500, "Message": "internal server error"} }
        status = 500

    return {
        "statusCode": status,
        "body": json.dumps(body)
    }