def lambda_handler()

in source/pinpoint-iot-campaign-hook/lambda_function.py [0:0]


def lambda_handler(event, context):
    try:
        global log_level
        log_level = str(os.environ.get('LOG_LEVEL')).upper()
        if log_level not in [
                                'DEBUG', 'INFO',
                                'WARNING', 'ERROR',
                                'CRITICAL'
                            ]:
            log_level = 'ERROR'
        logging.getLogger().setLevel(log_level)

        client = boto3.client('iot-data', region_name=os.environ['AWS_REGION'])
        cw_client = boto3.client('logs', region_name=os.environ['AWS_REGION'])
        logging.debug("Received Lambda event:", event)

        response = client.publish(
            topic=os.environ['IOT_TOPIC'],
            qos=1,
            payload=json.dumps({"PinpointMessage":event['Message']['smsmessage']['body']}))

        logging.debug("Received response from IoT client: ", response)


        if send_anonymous_data == "YES":
            try:
                sendAnonymousData()
            except Exception as error:
                logging.error('send_anonymous_data error: %s', error)
        else:
            logging.info('Anonymous usage metrics collection disabled.')

        result = {
            'statusCode': '200',
            'body':  {'message': 'success'}
        }
        return json.dumps(result)
    except Exception as error:
        logging.error('lambda_handler error: %s' % (error))
        logging.error('lambda_handler trace: %s' % traceback.format_exc())
        result = {
            'statusCode': '500',
            'body':  {'message': 'error'}
        }
        return json.dumps(result)