in source/lambda/model-invocation/index.py [0:0]
def lambda_handler(event, context):
logger.info(event)
metadata = event.get('metadata', None)
assert metadata, "Request did not include metadata!"
data_payload = event.get('data', None)
assert data_payload, "Payload did not include a data field!"
model_choice = event.get('model', None)
valid_models = {'anomaly_detector', 'fraud_classifier'}
if model_choice:
assert model_choice in valid_models, "The requested model, {}, was not a valid model name {}".format(model_choice, valid_models)
models = {model_choice} if model_choice else valid_models
output = {}
if 'anomaly_detector' in models:
output["anomaly_detector"] = get_anomaly_prediction(data_payload)
if 'fraud_classifier' in models:
output["fraud_classifier"] = get_fraud_prediction(data_payload)
store_data_prediction(output, metadata)
return output