def lambda_handler()

in geocode-udf-lambda-redshift/Lambda/lambda_function.py [0:0]


def lambda_handler(event, context):

    logger.debug (event)
    
    try:
        response = dict()
        records = event["arguments"]
        logger.debug ("Record Count: %d" % len(records))

        t1 = time.time()    
        results = []
        
        for record in records:
            logger.debug(record)
            address_line, municipality_name, state_code, post_code, country_code = record
            try:
                results.append(json.dumps(geocode_address(address_line, municipality_name, state_code, post_code, country_code)))
            except:
                results.append(None)

        t2 = time.time()

        logger.info ("Result Count: %d Time: %.3f" % (len(results), t2 - t1))
        
        response['success'] = True
        response['results'] = results
    except Exception as e:
        response['success'] = False
        response['error_msg'] = str(e)

    logger.info (response)

    return json.dumps(response)