きっかけ
ネットサーフィンしていたら、AWS公式からDynamoDBでS3からのインポートをサポートしました!というブログポストが出ていたので、以前はちょっとしたLambdaとか書いてたなぁと思いつつ、便利っぽいので動作確認しようと思いました。
(流石のクラメソさん、以下でとてもわかりやすくまとめてくれております!)
前提
移行前テーブル: before_migrate_table
- 項目: ttl項目についてTTL設定なし, alt_nameはLSI設定時に使用想定
移行後テーブル想定: after_migrate_table_(json or csv)
- 項目:
- id: Number, PK
- name: String, SK
- alt_name: String
- ttl: String
検証① DynamoDBのエクスポート後ファイルからのインポート
-
S3からのインポートジョブを作成
-
ジョブを作成、完了したことを確認
検証② CSVエクスポート後ファイルからのインポート
-
S3からのインポートジョブを作成
-
ジョブを作成、完了したことを確認
検証③ インポート後のTTL設定追加
検証④ インポート時間の検証
まとめ
- CSV, JSONで取り込めた
- S3配下のフォルダ内ファイル全部を対象にできた
- LSIは設定できなかった
- TTLは通常と同じく、設定できた
- インポート時間はDynamoDBの初期設定で3分くらい、データ量に対しては十分な速度が出ていた