def start_etl_job_run()

in lib/state_machine_trigger/lambda_handler.py [0:0]


def start_etl_job_run(execution_id, p_stp_fn_time, sfn_arn, sfn_name, table_name, sfn_input):
    """
    Function to insert entry in dynamodb table for audit trail
    @param execution_id:
    @param p_stp_fn_time:
    @param sfn_arn:
    @param sfn_name:
    @param table_name:
    @param sfn_input:
    """
    try:
        print('start_etl_job_run')
        logger.info('[INFO] start_etl_job_run() called')
        item = {}
        item['execution_id'] = execution_id
        item['sfn_execution_name'] = sfn_name
        item['sfn_arn'] = sfn_arn
        item['sfn_input'] = sfn_input
        item['job_latest_status'] = 'STARTED'
        item['job_start_date'] = p_stp_fn_time
        item['joblast_updated_timestamp'] = p_stp_fn_time
        dynamo_client = boto3.resource('dynamodb')
        table = dynamo_client.Table(table_name)
        table.put_item(Item=item)
    except botocore.exceptions.ClientError as error:
        logger.info('[ERROR] Dynamodb process failed:{}'.format(error))
        raise error
    except Exception as e:
        logger.info('[ERROR] Dynamodb process failed:{}'.format(e))
        raise e
    logger.info('[INFO] start_etl_job_run() execution completed')
    print('insert table completed')