Моя цель - иметь простой инструмент для экспорта DynamodB в локальный файл (JSON / CSV) только с aws cli
или менее 3-й стороной, насколько это возможно.Размер моих таблиц составляет около 500 МБ.
Я занимаюсь исследованиями уже несколько дней, и я видел очень хорошие проекты, такие как dynamodump
и другие реализации SDK.Также я тестирую Datapipeline
от Amazon, но для задачи, на которую я нацеливаюсь, нужно просто aws cli
.
Допустим, у меня уже есть карта для таблицы, такой как индексы и атрибуты. Теперь я хочу импортировать только те элементы, которые у меня есть.Для меня лучшее решение для реализации, которое у меня будет, будет примерно таким:
Экспорт таблицы из aws в локальный файл: aws dynamodb scan --table-name SOMETABLENAME --output json | jq '.Items[]' > SOMETABLENAME.json
Визуализация файла с такими вещами, как sed
, jq
, awk
... и т. Д.Чтобы получить правильный формат json, который можно импортировать в aws-Dynamodb
Импортировать элементы из SOMETABLENAME в aws-Dynamodb с помощью:
aws dynamodb put-item --table-name SOMETABLENAME --item file://SOMETABLENAME.json