"""Lambda start_gda_score_calculation function module.""" from lambdacommon.common_config import logger from sentry_sdk import capture_exception import json import base64 import boto3 import config def handler(event, context): """Lambda entry point.""" logger.info('Start processing MSK event') stepFunction = boto3.client('stepfunctions') for key, value in event['records'].items(): for record in value: try: value = base64.b64decode(record['value']) payload = json.loads(value) stepFunction.start_execution( stateMachineArn=config.STEP_FN_ARN, input=json.dumps(payload, indent=4) ) logger.info('Starting step function ') except Exception as e: capture_exception(e) logger.exception(str(e)) return { 'statusCode': 200, 'status': 'OK' }