アプリケーション開発ポータルサイト
ServerNote.NET
ServerNote.NET厳選キャンペーン・クーポンはこちら!
カテゴリー【Amazon/AWS
Amazon DynamoDBメモ【3・JSONファイルからの一括データ登録】
POSTED BY
2022-12-08

Amazon DynamoDBメモ【2・CSVファイルからの一括データ登録】

続きです。前回のCSVファイルロードは最初の設置がすべて手動かつえらく面倒でほぼ使い物にならなかったので、公式ドキュメントにあるJSONファイルで一括登録する方法をやります。

JSONは記述が面倒ですが、スクリプトを書いて出力させればなんとかなります。

前々回のtesttableに、データを追加登録します。CSVは不可ですがJSONならできるらしいです。

https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/SampleData.LoadData.html

を参考にして作ります。なるべくCSVライクにしたいので以下のように作りました。

{"testtable":[
{"PutRequest":{"Item":{"key":{"S":"キー4"},"sval":{"S":"文字列4"},"nval":{"N":"4"}}}},
{"PutRequest":{"Item":{"key":{"S":"キー5"},"sval":{"S":"文字列5"},"nval":{"N":"5"}}}},
{"PutRequest":{"Item":{"key":{"S":"キー6"},"sval":{"S":"文字列6"},"nval":{"N":"6"}}}}
]}

これをadd_to_testtable.jsonなどと保存します。

まず現在のテーブル状況を確認します。

aws dynamodb scan --table-name testtable
{
    "Items": [
        {
            "sval": {
                "S": "文字列2"
            },
            "key": {
                "S": "キー2"
            },
            "nval": {
                "N": "2"
            }
        },
        {
            "sval": {
                "S": "文字列1"
            },
            "key": {
                "S": "キー1"
            },
            "nval": {
                "N": "1"
            }
        },
        {
            "sval": {
                "S": "文字列3"
            },
            "key": {
                "S": "キー3"
            },
            "nval": {
                "N": "3"
            }
        }
    ],
    "Count": 3,
    "ScannedCount": 3,
    "ConsumedCapacity": null
}

ではさきほどのJSONデータで一括追加登録してみます。

aws dynamodb batch-write-item --request-items file://add_to_testtable.json
{
    "UnprocessedItems": {}
}

成功したっぽいです。あらためてテーブルデータを見てみます。

aws dynamodb scan --table-name testtable
{
    "Items": [
        {
            "sval": {
                "S": "文字列6"
            },
            "key": {
                "S": "キー6"
            },
            "nval": {
                "N": "6"
            }
        },
        {
            "sval": {
                "S": "文字列2"
            },
            "key": {
                "S": "キー2"
            },
            "nval": {
                "N": "2"
            }
        },
        {
            "sval": {
                "S": "文字列1"
            },
            "key": {
                "S": "キー1"
            },
            "nval": {
                "N": "1"
            }
        },
        {
            "sval": {
                "S": "文字列4"
            },
            "key": {
                "S": "キー4"
            },
            "nval": {
                "N": "4"
            }
        },
        {
            "sval": {
                "S": "文字列5"
            },
            "key": {
                "S": "キー5"
            },
            "nval": {
                "N": "5"
            }
        },
        {
            "sval": {
                "S": "文字列3"
            },
            "key": {
                "S": "キー3"
            },
            "nval": {
                "N": "3"
            }
        }
    ],
    "Count": 6,
    "ScannedCount": 6,
    "ConsumedCapacity": null
}

成功!こちらのほうが簡単でかつ柔軟そうで、スクリプトで組めそうです。

最後にAWSで提供されているSDKを使ってC++プログラムから操作します。↓

Amazon DynamoDBメモ【4・C++ライブラリを使ってプログラムから操作】

【業務用エアコンの設置業者探しならEMEAO!】ご希望にあった優良企業を無料で紹介します
【成約お祝いキャンペーン実施中!】 期間限定で先着20名様に『最大15,000円分の成約祝い(ギフト券)が必ずも...READ MORE
DB数・メールアドレス・ドメイン・サブドメイン・FTPアカウント無制限のレンタルサーバーMUGEN
どれだけつかっても月額480円の、国内最安級のレンタルサーバーです。メールアカウントの作成や、ドメイン等...READ MORE
※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【webmaster/管理人】
自営業プログラマー
ご連絡は以下アドレスまで★

☆ServerNote.NETショッピング↓
ShoppingNote
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】