Руководство разработчика — Средство сопоставления приложений служб мультимедиа на AWS
Руководство разработчика — Средство сопоставления приложений служб мультимедиа на AWSИсходный код Инструмент миграции таблиц DynamoDB
Исходный код
Посетите наш репозиторий GitHub, чтобы загрузить исходные файлы для этого решения и поделиться своим настройки с другими. Дополнительные сведения см. в файле README.md.
Средство переноса таблиц DynamoDB
Инструмент миграции — это программа на Python, предназначенная для копирования данных из одной таблицы DynamoDB в другую. Вы можете использовать этот инструмент для копирования содержимое каждой из таблиц DynamoDB решения из одного установка на другой. Есть несколько причин, по которым вы можете захотеть сделай это:
Настройка дублирующей системы для производства и тестирования с одни и те же диаграммы, сигналы тревоги и макет для обоих.
Переход от старой к новой установке MSAM, который не может быть обновлен с помощью шаблонов.
Используя Момент времени Функция восстановления DynamoDB для восстановления одного или нескольких MSAM таблицы в заранее известное состояние.
Требования
Python 3.x установлен и доступен из командной строки
Пакет boto3 установлен и доступен для вышеуказанного Python
Имя профиля AWS CLI, настроенного для доступа к учетной записи. и таблицы DynamoDB, используемые MSAM
Исходная и целевая таблицы DynamoDB расположены в одном и том же аккаунт и тот же регион AWS
Использование
$ python copy_table.py -h использование: copy_table.py [-h] --source ИСТОЧНИК --destination НАЗНАЧЕНИЕ [--region РЕГИОН] [--profile ПРОФИЛЬ] Скопируйте элементы базы данных из одной таблицы DynamoDB в другую. необязательные аргументы: -h, --help показать это справочное сообщение и выйти --source ИСТОЧНИК имя исходной таблицы --destination НАЗНАЧЕНИЕ имя целевой таблицы --region РЕГИОН регион, в котором находятся таблицы (если не указан, по умолчанию us-west-2) --profile ПРОФИЛЬ используемый профиль AWS (если не указан, по умолчанию используется профиль)
Предупреждение
Этот инструмент копирует все записи из одной таблицы в другую без возможность перезаписи или потери данных. Он перезапишет существующие ключи в целевой таблице, если такие же ключи существуют в исходная таблица.
Пример: дублирование таблиц между двумя стеками
Войдите в Консоль AWS CloudFormation.
Найдите стек DynamoDB для старого и нового стеков.
Запишите имена таблиц для каждого стека.
Скопируйте таблицы из старого в новый стек, пропустив Таблица содержимого DynamoDB.
Запустите новую установку решения и проверьте плитки, схемы, компоновка и сигнализация.
Имена исходных таблиц
oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Alarms-1VM2MNB13D37Y oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-каналы-OJ059JTCKFVL oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-CloudWatchEvents-1LA5KI02ULY10 oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Content-JLLPFGYMS2LW oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Events-UB108ABQTFK oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Layout-SJVH87QY4VPM oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-ResourceNotes-1NH97JNNT5ZQ5 oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Settings-1IZ5B60KHU0IL
Имена целевых таблиц
freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Alarms-EXEGD9CBBRVT свежая установка-DynamoDBModuleStack-47U9UHHXPWO0-каналы-S7H7V3GU06L8 freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-CloudWatchEvents-18BSF813RQWLU freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Content-5ZTZ0BYLED9M свежая установка-DynamoDBModuleStack-47U9UHHXPWO0-события-VK1R6QJ3HAL5 свежая установка-DynamoDBModuleStack-47U9UHHXPWO0-Layout-1HQ6C00JC60ZJ freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-ResourceNotes-QCKYRZF3JAV свежая установка-DynamoDBModuleStack-47U9UHHXPWO0-Settings-HF5BF72M35KH
Команды
Примечание
Если у вас нет пользовательских узлов, вы можете пропустить копирование таблицы содержимого.
Если в исходном стеке отсутствует таблица, например CloudWatchEvents
, вы можете
смело пропускайте.
python copy_table.py --source oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Alarms-1VM2MNB13D37Y --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Alarms-EXEGD9CBBRVT --profile personal --region us-east-1 python copy_table.py --source oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Channels-OJ059JTCKFVL --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Channels-S7H7V3GU06L8 --profile personal --region us-east-1 python copy_table.py --source oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-CloudWatchEvents-1LA5KI02ULY10 --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-CloudWatchEvents-18BSF813RQWLU --profile personal --region us-east-1 python copy_table.py --source oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Events-UB108ABQTFK --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Events-VK1R6QJ3HAL5 --profile personal --region us-east-1 python copy_table.py --source oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Layout-SJVH87QY4VPM --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Layout-1HQ6C00JC60ZJ --profile personal --region us-east-1 python copy_table.py --source oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-ResourceNotes-1NH97JNNT5ZQ5 --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-ResourceNotes-QCKYRZF3JAV --profile personal --region us-east-1 python copy_table.py --source oldinstall-DynamoDBModuleStack-1BL5SHLW7QL8P-Settings-1IZ5B60KHU0IL --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Settings-HF5BF72M35KH --profile personal --region us-east-1
Если у вас есть пользовательские узлы, вы также можете скопировать таблицу
:
python copy_table.py --source oldinstall-DynamoDBModuleStack- 1BL5SHLW7QL8P-Content-JLLPFGYMS2LW --destination freshinstall-DynamoDBModuleStack-47U9UHHXPWO0-Content-5ZTZ0BYLED9M --profile personal --region us-east-1
Javascript отключен или недоступен в вашем браузере.