in python-app-backend/lambda/rekognize-image/main.py [0:0]
def lambda_handler(event, context):
    print(event)
    image = event['body']
    if image is None:
        return {
            "statusCode": 400,
            "headers": {
                'Access-Control-Allow-Origin': '*',
                'Access-Control-Allow-Methods': 'POST,GET'
            },
            "body": json.dumps({
                "message": "No image found in body. Pass base 64 encode image in the request body"
            })
        }
    decoded_image = base64.b64decode(image)
    try:
        response = rekognition.search_faces_by_image(
            CollectionId=collection,
            Image={'Bytes': decoded_image},
            MaxFaces=1,
            FaceMatchThreshold=90
        )
        print(response)
        faces = response.get('FaceMatches', [])
    except ClientError as e:
        logger.error("Bad image sent ?", exc_info=True)
        faces = []
    if len(faces) > 0:
        match = faces[0]
        print(match['Face']['FaceId'], match['Face']['Confidence'])
        face = dynamodb.get_item(
            TableName=table_name,
            Key={'RekognitionId': {'S': match['Face']['FaceId']}}
        )
        if 'Item' in face:
            return {
                "statusCode": 200,
                "headers": {
                    'Access-Control-Allow-Origin': '*',
                    'Access-Control-Allow-Methods': 'POST,GET'
                },
                "body": json.dumps({
                    "person_name": face['Item']['FullName']['S'],
                })
            }
    return {
        "statusCode": 200,
        "headers": {
            'Access-Control-Allow-Origin': '*',
            'Access-Control-Allow-Methods': 'POST,GET'
        },
        "body": json.dumps({
            "message": "No match found in the record"
        })
    }