Je suis nouveau sur aws-cli et j'essaie d'exporter ma table dynamodb en tant que csv afin de pouvoir l'importer directement dans postgresql. Existe-t-il un moyen de le faire en utilisant aws-cli?
Jusqu'à présent, je suis tombé sur cette commande aws dynamodb scan --table-name. Mais cela ne fournit pas une option d'exportation csv. De plus, grâce à cette commande, je peux obtenir la sortie sur mon invite de commande, mais je ne sais pas comment l'écrire dans un fichier.
Si tous les articles ont les mêmes attributs, par ex. id
et name
qui sont tous deux des chaînes, puis exécutez:
aws dynamodb scan \
--table-name mytable \
--query "Items[*].[id.S,name.S]" \
--output text
Cela donnerait une sortie séparée par des tabulations. Vous pouvez le rediriger vers un fichier à l'aide de > output.txt
, et vous pourrez alors facilement convertir les tabulations en virgules pour csv.
Une autre option est le projet DynamoDBtoCSV sur github.
Pour dynamodb localhost:
$aws dynamodb scan --table-name AOP --region us-east-1 --endpoint-url
http://localhost:8000 --output json > /home/ohelig/Desktop/a.json
Pour dynamodb:
$aws dynamodb scan --table-name AOP --region us-east-1 --output json > /home/ohelig/Desktop/a.json
Ensuite, convertissez JSON en CSV ou autre chose.
J'ai modifié la réponse ci-dessus pour que ce soit clair.
Vous pouvez utiliser jq convertir la sortie json donnée par aws cli en csv
aws dynamodb scan --table-name mytable --query "Items[*].[id.S,name.S]" --output json | jq -r '.[] | @csv' > dump.csv