AWS cliでDynamoDBをS3 CSVへ出力

DynamoDBのデータをS3へ、CSV形式で出力するshellスクリプトです。

Datapipelineやglueのジョブを使えないときのスクリプトです。

echo "aaaa","bbbbb","ccccc" > out.csv
aws dynamodb scan --table-name DynamoDBテーブル名 --query "Items[*].[aaaa.S,bbbb.S,ccccc.S]"| jq -r '.[] | @csv'|awk -F '[,"]' '{print $3","$5","$7","$9}' >> out.csv
aws s3 cp out.csv s3://バケット名/

queryのフィールド名.Sは、文字列の時に使います。

数字は、「.N」

論理値は、「.B」

awkのprintの文字位置の$nは、データによって調整してください。