DynamoDBへのデータインポート
作業するマシンに、AWS CLIがインストールされているかを確認。
(参考)https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Tools.CLI.html
テーブルを作成する前に、スキーマを作成するなど、構造が決まっていることが望ましい。
■DynamoDBにテーブルを作成
以下は作成の仕方の一例。
(参考URL)
- DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/) を開きます。
- [テーブルの作成] を選択します。
- [DynamoDB テーブルの作成] 画面で、次の操作を行います。
- [テーブル名] ボックスに、「Forum」と入力します
- [プライマリキー] の [パーティションキー] ボックスに「Name」と入力します。データ型を [文字列] に設定します。
- すべての設定が正しいことを確認したら、[作成] を選択します。
■アクセスキーとシークレットキーとリージョンの確認
(参考URL)https://qiita.com/kaito_program/items/7b9ba489e44d2295cf6f
aws configure listコマンドを叩いて、アクセスキーとシークレットキーとリージョンが何と設定されてるか確認。
aws configure list
必ず、データをインポート前に、最初にこちらの操作を行い、ログインしているI AMと、それに紐づくDynamoDBのリージョン、そのI AMとアクセスキー&シークレットキーを確認する。
そして、5分くらいで、アクセスキーとシークレットキーは「デフォルト」に戻ってしまう(セキュリティー上の仕様のようだ)ので、以下のコマンドで変更する。
export AWS_ACCESS_KEY_ID=****hogehoge***** export AWS_SECRET_ACCESS_KEY=****hanihani*****
その後、PCの設定ファイルを変更
~/.zshrc
再度aws configure listを叩いてキー2つを確認する。
aws configure list
この後、5分以内に、再起動しないで、すぐに作業。
■データをテーブルにロード(インポート)
(参考URL)https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/SampleData.LoadData.html
(サンプルjson)
インポートするjsonデータが入っているディレクトリに移動し、以下のコマンドを実行。
aws dynamodb batch-write-item --request-items file://ファイル名.json
成功すると
{ "UnprocessedItems": {} }
とターミナルに出力される。
※その他
「パイプライン」を使う手もあるようだ。こちらは未だテストしていない。