Amazon DynamoDB ちゅーとりある まとめ

Amazon DynamoDB ちゅーとりある まとめ:


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 
以下のように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 
このコマンドで起動したローカルのDynamoDBにアクセスするには以下のように--endpoint-urlパラメータにローカルDynamoDBのURLを指定します。

aws dynamodb list-tables --endpoint-url http://localhost:8000 


後日更新予定

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)