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')