AWS
DynamoDB

DynamoDBのテーブル作成について

本エントリでは作成したアプリからAWSにアップロードしたデータを管理しているDynamoDBについて記述します。

筆者はこれまでRDBしか触ったことがなく、NOSQLについても不勉強から全く無知でした。今回敢えて知らないNOSQLにトライしてみました。

先のエントリでもちょくちょく触れていて改めて記載することはそれほど多くはないのですが、DynamoDBを利用する場合はコンソールからの設定は本当に限られていて、データの追加と参照しかしないのなら何とか。でもアップデートも伴うとなるとその時点でコマンドラインに頼るしかなくなるなと思いました。確かにRDBでもGUIからの設定は限られていて細かい所はDDLでやるしかないというのと同じといえば同じですが。

今回のアプリを作成するにあたってもイイネ機能の実現のためにupdateを行うことが必要でした。ですので、最初はコンソールからテーブルを作っていましたが最終的にコマンドでテーブルを作成するようになりました。

以下が今回テーブルを作る際に使用したコマンドです(確かこれのはずです、曖昧ですいません)。

aws dynamodb create-table --table-name XXXXXXX --attribute-definitions '[{"AttributeName": "datetimestr", "AttributeType": "S"}]' --key-schema '[{"AttributeName": "datetimestr", "KeyType": "HASH"}]' --provisioned-throughput '{"ReadCapacityUnits": 5, "WriteCapacityUnits": 5}'

一番肝要なのは--key-schemaのところで、このKeyTypeを指定するにはコマンドラインしか今は方法が無いようです。そしてこのHASHキーがないと抽出が厄介らしくて。。。DynamoDBの操作については基本的にコマンドで行うと認識して置いた方が良さそうです。

以上で今回行ったDynamoDBへの設定の説明を閉じさせて頂きたいと思います。