def handler()

in reverse_geocoding_lambda/lambda_function.py [0:0]


def handler(event, context):
    logger = logging.getLogger(__name__)

    arguments = event["arguments"]

    logger.debug('Received arguments: %s.', arguments)

    results = []

    try:
        for arg in arguments:
            req = {'IndexName': PLACE_INDEX, 'Position': [arg[1], arg[0]]}
            
            response = client.search_place_index_for_position(**req)

            if len(response["Results"]) >= 1:
                results.append(json.dumps({
                    "Longitude": response["Results"][0]["Place"]["Geometry"]["Point"][0],
                    "Latitude": response["Results"][0]["Place"]["Geometry"]["Point"][1],
                    "Label": response["Results"][0]["Place"]["Label"]
                }))
            else:
                results.append({})

        return json.dumps({
            "success": True,
            "num_records": len(results),
            "results": results
        })
    except ClientError as e:
        logger.error('Error: %s.', e)
        return {
            "success": False,
            "error_msg": str(e),
            "num_records": 0,
            "results": []
        }