Я настраиваю безсерверную архитектуру и переношу свою старую платформу на новую учетную запись, и для этого я использую DynamoDB и Lambda, у меня есть таблица A в учетной записи 1, и я должен переместить все в A в таблицу B в Аккаунт 2.
До сих пор я создал роли IAM и определил все политики для кросс-аккаунта. Я застрял в коде Python в лямбда-функции, я использовал STS для предоставления временного набора учетных данных для моей учетной записи B. Поэтому мой вопрос
Как вы ПОЛУЧАЕТЕ все в старой таблице «Динамо», перемещаете ее в новую и помещаете ее туда с помощью лямбды? Как будет выглядеть код?
Я могу думать только о том, что я могу делать table.get_ item
и table.put_item
, но дело в том, что Новая таблица сейчас пуста и как мне извлечь всю таблицу, плюс все это написано в лямбда-функции с использованием Python.
Пока что я сделал:
Я принял на себя роль в новом аккаунте.
Я создал STS.
def lambda_handler(event, context):
client = boto3.client('sts')
sts_response = client.assume_role(RoleArn='arn:aws:iam::<043151570368>:role/Test-DynamoDB',
RoleSessionName='AssumePocRole', DurationSeconds=900)
dynamodb = boto3.resource(service_name='dynamodb', region_name=<region>,
aws_access_key_id = sts_response['Credentials']['AccessKeyId'],
aws_secret_access_key = sts_response['Credentials']['SecretAccessKey',
aws_session_token = sts_response['Credentials']['SessionToken'])