def lambda_handler()

in src/createEndpoint.py [0:0]


def lambda_handler(event, context):

    ## Get Model ARN depending on argument passed

    client = boto3.client('comprehend')

    requestParams = event['endpointType']
    
    if requestParams == "EntityRecognizer":
        endpointName = "aim317-entity-recognizer" + '-' + str(uuid.uuid4())[:8]
        response = client.list_entity_recognizers(
            Filter={
                'Status': 'TRAINED',
            }
        )
        if not response['EntityRecognizerPropertiesList']:
            return "No models trained, please check the Comprehend dashboard"

        modelARN = response['EntityRecognizerPropertiesList'][0]['EntityRecognizerArn']

    elif requestParams == "DocumentClassifier":
        endpointName = "aim317-document-classifier" + '-' + str(uuid.uuid4())[:8]

        response = client.list_document_classifiers(
            Filter={
                'Status': 'TRAINED',
            }
        )
        if not response['DocumentClassifierPropertiesList']:
            return "No models trained, please check the Comprehend dashboard"
        
        modelARN = response['DocumentClassifierPropertiesList'][0]['DocumentClassifierArn']

    response = client.create_endpoint(
        EndpointName=endpointName,
        ModelArn=modelARN,
        DesiredInferenceUnits=4,
        DataAccessRoleArn=os.environ['ComprehendARN']
    )

    return {
        'EndpointArn': response['EndpointArn']
    }