in content/lab_assets/start/lab4/cfn-project/lambda_functions/source/SurveySubmit/survey_submit.py [0:0]
def get_ddb_table(local_acc):
arn = os.environ['TABLE_ARN']
ddb_acc = acc_id_from_arn(arn)
ddb_region = region_from_arn(arn)
table_name = table_name_from_arn(arn)
if ddb_acc == local_acc:
session = boto3.Session()
else:
sts_client = boto3.client("sts")
creds = sts_client.assume_role(
RoleArn=f"arn:aws:iam::{ddb_acc}:role/team_{local_acc}_role",
RoleSessionName="survey"
)['Credentials']
session = boto3.Session(
aws_access_key_id=creds['AccessKeyId'],
aws_secret_access_key=creds['SecretAccessKey'],
aws_session_token=creds['SessionToken']
)
dynamodb = session.resource('dynamodb', region_name=ddb_region)
return dynamodb.Table(table_name)