DynamoDBの内容をエクスポートしたい場合、テーブルの中身を簡易的にエクスポートする方法です。
ツールの開発にはPowerShell を使用します。
DynamoDBの管理コンソールからでもエクスポートは可能ですが、
わざわざログインしたくないときなどに便利です。
■前提条件
・AWS CLI が使用できる必要があります。
下記手順からインストールが可能です。
AWS入門~CLIを使用してAWSにアクセス - App Engineerの開発ノート
・PowerShell のスクリプトファイルを実行できる権限が振られている必要があります。
■ツール準備
下記のソースをコピーして任意のps1ファイルを作成します。
※例:「output-csv.ps1」
# 接続先は適宜切り替え $ENDPOINT_URL = "http://localhost:4566" $OUTPUT_FORMAT = "json" $tableName = Read-Host “テーブル名を入力してください。” $jsonObj = aws dynamodb scan --table-name "$tableName" --endpoint-url $ENDPOINT_URL --output $OUTPUT_FORMAT $obj = ($jsonObj | ConvertFrom-Json) $obj.items | convertto-csv -NoTypeInformation -Delimiter "," | % {$_ -replace '"',''} | out-file "dump_$tableName.csv" -Encoding default
上記ファイルを任意ディレクトリに配置します。
■ツール実行
ツールのテスト用にデータを準備します。
今回は雑に"test"というテーブルに1レコードだけputしてます。
準備ができたら、配置したps1ファイルを右クリック -> "Powershellで実行"をクリック
で簡単に実行できます。
実行後はテーブルを名を入力します。
下記のようにエクスポートできました!
ここまで 読んで頂きありがとうございました。
よければフォローお願いします!