Как экспортировать таблицу dynamodb как csv через aws-cli (без использования конвейера)
Я новичок в aws-cli, и я пытаюсь экспортировать таблицу dynamodb как csv, чтобы я мог импортировать ее непосредственно в postgresql. Есть ли способ сделать это с помощью aws-cli?
До сих пор я столкнулся с этой командой aws dynamodb scan --table-name. Но это не дает возможности экспорта csv. Кроме того, через эту команду я могу получить вывод в командной строке, но я не уверен, как записать его в файл.
Ответы
Ответ 1
Если все элементы имеют одинаковые атрибуты, например, id
и name
обе из которых являются строками, затем выполните:
aws dynamodb scan \
--table-name mytable \
--query "Items[*].[id.S,name.S]" \
--output text
Это дало бы разделенный табуляцией вывод. Вы можете перенаправить это в файл, используя > output.txt
, и затем вы можете легко конвертировать вкладки в запятые для CSV.
Другой вариант - это проект DynamoDBtoCSV на github.
Ответ 2
Для localhost dynamodb:
$aws dynamodb scan --table-name AOP --region us-east-1 --endpoint-url
http://localhost:8000 --output json > /home/ohelig/Desktop/a.json
Для dynamodb:
$aws dynamodb scan --table-name AOP --region us-east-1 --output json > /home/ohelig/Desktop/a.json
Затем конвертируйте JSON в CSV или что угодно.
Я изменил выше ответ, чтобы дать понять.
Ответ 3
Вы можете использовать jq для преобразования вывода json, заданного aws cli, в csv
aws dynamodb scan --table-name mytable --query "Items[*].[id.S,name.S]" --output json | jq -r '.[] | @csv' > dump.csv