def DynamoWriter(site,latency):
	import json
	from pprint import pformat
	import boto3
	from datetime import datetime
	from decimal import Decimal
	import time

	LOGGER = system.util.getLogger('latency_to_dynamodb_log')

	# Get STAGE variable
	
	API_ID, STAGE, ACC_ID, FUNC_URL = AWS.secrets_manager.get_secret(str(site), 'scada/api/endpoint')
	API_ID,ACC_ID,FUNC_URL = None, None, None # set these to None becuase they are not used in here but must be returned during the call.

	# Make sure STAGE is valid. no gamma stage configured
	if STAGE not in ['alpha', 'beta', 'gamma', 'prod']:
		STAGE = 'beta'
	if STAGE == 'gamma':
		STAGE = 'beta'
	
	STAGE_CONFIG = {
		'alpha':{
			'region' : 'us-east-1',
			'roleArn' : 'arn:aws:iam::905418469996:role/ignition_to_aws_latency_alpha',
			'tableName' : 'SCADA_Latency_alpha'
		},
		'beta': {
			'region':'us-east-1',
			'roleArn': 'arn:aws:iam::381492071451:role/ignition_to_aws_latency_beta',
			'tableName' : 'SCADA_Latency_beta'
			
		},
		'prod': {
			'region':'us-east-1',
			'roleArn': 'arn:aws:iam::891377003949:role/ignition_to_aws_latency_prod',
			'tableName' : 'SCADA_Latency_prod'
		}
	}


	# create sts session to get credentials from EC2
	sts_client = boto3.client('sts')
	region_name = STAGE_CONFIG.get(STAGE, 'alpha').get('region', 'us-east-1')
	
	assume_role_response = sts_client.assume_role( 
		RoleArn = STAGE_CONFIG.get(STAGE, 'alpha').get('roleArn', 'arn:aws:iam::905418469996:role/ignition_to_aws_latency_alpha_test'),
		RoleSessionName = 'AssumeRole'
	)
	
	temp_credentials = assume_role_response['Credentials']
	
	# create session using the temp creds
	b3_session = boto3.Session(
			aws_access_key_id = temp_credentials['AccessKeyId'],
			aws_secret_access_key = temp_credentials['SecretAccessKey'],
			aws_session_token = temp_credentials['SessionToken'],
			region_name = 'us-east-1', 
			)
	
	# create a dynamodb session 
	dynamodb = b3_session.resource('dynamodb')
	table = dynamodb.Table(STAGE_CONFIG.get(STAGE, 'alpha').get('tableName', 'SCADA_Latency_alpha'))
	
	# write data directly to dynamodb table
	try:
		response = table.put_item(Item={
			'site':site,
			'timestamp':int(time.time()*1000),
			'latency':str(round( int(Decimal(latency)) / 1000.0 , 3 )   ),
			'source':3,
			'TTL':int(time.time()+ (30*60) )
			}
		)

	except Exception as e:
		LOGGER.error(str(e))