DynamoDBへのデータインポート

■DynamoDBにテーブルを作成

以下は作成の仕方の一例。

(参考URL)

  1. DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/) を開きます。
  2. [テーブルの作成] を選択します。
  3. [DynamoDB テーブルの作成] 画面で、次の操作を行います。
    1. [テーブル名] ボックスに、「Forum」と入力します
    2. [プライマリキー] の [パーティションキー] ボックスに「Name」と入力します。データ型を [文字列] に設定します。
  4. すべての設定が正しいことを確認したら、[作成] を選択します。

■アクセスキーとシークレットキーとリージョンの確認

(参考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

DynamoDB%E3%81%B8%E3%81%AE%E3%83%86%E3%82%99%E3%83%BC%E3%82%BF%E3%82%A4%E3%83%B3%E3%83%9B%E3%82%9A%E3%83%BC%E3%83%88%20509f9e0627f641a9bfd58f21a5a9f34c/sampledata.zip

インポートするjsonデータが入っているディレクトリに移動し、以下のコマンドを実行。

aws dynamodb batch-write-item --request-items file://ファイル名.json

成功すると

{
    "UnprocessedItems": {}
}

とターミナルに出力される。

※その他

「パイプライン」を使う手もあるようだ。こちらは未だテストしていない。

https://docs.aws.amazon.com/ja_jp/data-pipeline/index.html