Amazon DynamoDB ちゅーとりある まとめ
Amazon DynamoDB ちゅーとりある まとめ:
フルマネージド型の NoSQL データベースサービス
データベースの分散とスケーリングを自動で管理してくれるAWSのサービス
また、書き込み読み込みにどれだけのリソースを割り当てるかを制御できパフォーマンスの管理を簡単に行うことができる。
AWSの他のサービスと連携しやすいDBというのが一番の理由
また、サービスの規模が拡大してアクセスが増大してもプログラムの変更なしでスケール可能というのも大きい。
開発ではいちいちブラウザでアクセスしてどうこうは面倒なためcliツールを利用します。
はとりあえず本題とは異なるためリンクでお茶を濁します。
AWS CLI をインストール
AWS CLI を設定
(各自セットアップをよろしくお願いいたします。)
このコマンドを実行する前にjsonファイルの作成が必要になります。
以下のようにkey-conditions.jsonファイルを作成してください。
ローカルでDynamoDBを構築しAWSへのアクセスなしで開発をしたいという状況があることと思います。
その場合はdockerを利用することでローカルの環境構築が可能です。
難しいことはありません。
以下のコマンドを実行してください。
このコマンドで起動したローカルのDynamoDBにアクセスするには以下のように--endpoint-urlパラメータにローカルDynamoDBのURLを指定します。
Amazon DynamoDB とは
フルマネージド型の NoSQL データベースサービスデータベースの分散とスケーリングを自動で管理してくれるAWSのサービス
また、書き込み読み込みにどれだけのリソースを割り当てるかを制御できパフォーマンスの管理を簡単に行うことができる。
なぜ DynamoDB を使うか
AWSの他のサービスと連携しやすいDBというのが一番の理由また、サービスの規模が拡大してアクセスが増大してもプログラムの変更なしでスケール可能というのも大きい。
DynamoDB の開発
開発ではいちいちブラウザでアクセスしてどうこうは面倒なためcliツールを利用します。
aws-cli のインストールと設定
はとりあえず本題とは異なるためリンクでお茶を濁します。AWS CLI をインストール
AWS CLI を設定
(各自セットアップをよろしくお願いいたします。)
aws-cliでの操作
テーブル作成
#! /usr/bin/env bash aws dynamodb create-table \ --table-name Music \ --attribute-definitions \ AttributeName=Artist,AttributeType=S \ AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=1,WriteCapacityUnits=1
アイテム追加
#! /usr/bin/env bash aws dynamodb put-item \ --table-name Music \ --item \ '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}, "AlbumTitle": {"S": "Somewhat Famous"}}' \ --return-consumed-capacity TOTAL aws dynamodb put-item \ --table-name Music \ --item '{ \ "Artist": {"S": "Acme Band"}, \ "SongTitle": {"S": "Happy Day"}, \ "AlbumTitle": {"S": "Songs About Life"} }' \ --return-consumed-capacity TOTAL
Query実行 with jsonファイル
このコマンドを実行する前にjsonファイルの作成が必要になります。aws dynamodb query --table-name Music --key-conditions file://key-conditions.json
{ "Artist": { "AttributeValueList": [ { "S": "No One You Know" } ], "ComparisonOperator": "EQ" }, "SongTitle": { "AttributeValueList": [ { "S": "Call Me Today" } ], "ComparisonOperator": "EQ" } }
ローカルのDynamoDBでの開発
ローカルでDynamoDBを構築しAWSへのアクセスなしで開発をしたいという状況があることと思います。その場合はdockerを利用することでローカルの環境構築が可能です。
難しいことはありません。
以下のコマンドを実行してください。
docker run -d -p 8000:8000 amazon/dynamodb-local
aws dynamodb list-tables --endpoint-url http://localhost:8000
コメント
コメントを投稿