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