in ChangeDataCapture/functions/ReplayFromStream.py [0:0]
def lambda_handler(event, context):
# Environment Variables
target_aws_account_num = os.environ['TARGET_AWS_ACCOUNT_NUMBER']
target_role_name = os.environ['TARGET_ROLE_NAME']
target_ddb_name = os.environ['TARGET_DYNAMODB_NAME']
target_ddb_region = os.environ['TARGET_REGION']
role_arn = "arn:aws:iam::%s:role/%s" % (target_aws_account_num,target_role_name)
sts_response = get_credentials(role_arn)
dynamodb = boto3.client('dynamodb', region_name=target_ddb_region,
aws_access_key_id = sts_response['AccessKeyId'],
aws_secret_access_key = sts_response['SecretAccessKey'],
aws_session_token = sts_response['SessionToken'])
Records = event['Records']
for record in Records:
event_name = record['eventName']
if event_name == 'REMOVE':
response = dynamodb.delete_item(TableName=target_ddb_name,Key=record['dynamodb']['Keys'])
else:
response = dynamodb.put_item(TableName=target_ddb_name,Item=record['dynamodb']['NewImage'])