📝

DynamoDBのチュートリアルの内容をAWS CLIで試してみる

2023/01/24に公開

はじめに

この記事では、AWSが提供するDynamoDBのチュートリアルについて、AWS CLIを用いて試した内容をまとめています。

https://aws.amazon.com/jp/dynamodb/getting-started/

DynamoDBのチュートリアルは、上記のページにいくつか登録されていますが、今回は『NoSQL テーブルを作成してクエリを実行する』を参考にしています。

https://aws.amazon.com/jp/getting-started/hands-on/create-nosql-table/

コマンドを確認する

まずはawscliからDynamoDBを使用するにあたり、どのコマンドを使うかを確認します。

$ aws help

helpコマンドを実行したところ、dynamodbが見つかりました。

DynamoDBに対して操作をするときは、aws dynamodbのヘルプで使用可能なコマンドを確認していきます。

$ aws dynamodb help

テーブルを作成する

チュートリアルと同様に、最初にMusicテーブルを作成します。

ヘルプコマンドを実行して、aws dynamodbで使用可能なコマンドの一覧に、create-tableがあることを確認してあったので、create-tableの使い方を調べます。

$ aws dynamodb create-table help

ヘルプの内容を参考に作成した、つぎのコマンドを実行します。

$ 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=5,WriteCapacityUnits=5

このコマンドでは、オートスケーリングは有効になりません。
今回オートスケーリングの有効化は試していませんが、こちらのドキュメントが参考になりそうです。

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/AutoScaling.CLI.html

テーブル一覧を取得する

DynamoDBにテーブルが作成できたかを確認するために、つぎのコマンドを実行します。

$ aws dynamodb list-tables

作成したテーブルの名前がレスポンスに含まれていることを確認できました。

{
    "TableNames": [
        "Music"
    ]
}

テーブルの構成を確認する

テーブルの構成を確認するには、つぎのコマンドを使用します。

$ aws dynamodb describe-table --table-name Music

実行結果は、つぎのとおりです。

{
    "Table": {
        "AttributeDefinitions": [
            {
                "AttributeName": "Artist",
                "AttributeType": "S"
            },
            {
                "AttributeName": "SongTitle",
                "AttributeType": "S"
            }
        ],
        "TableName": "Music",
        "KeySchema": [
            {
                "AttributeName": "Artist",
                "KeyType": "HASH"
            },
            {
                "AttributeName": "SongTitle",
                "KeyType": "RANGE"
            }
        ],
	(省略)
    }
}

テーブルにデータを追加する

DynamoDBのテーブルにデータを追加するには、put-itemを使用します。
つぎのようにパラメータを指定して、チュートリアルと同じデータを追加していきます。

$ aws dynamodb put-item \
    --table-name Music \
    --item '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}}' \
    --return-consumed-capacity TOTAL

テーブルにクエリを実行する

DynamoDBのテーブルにクエリを実行して、データを取得するにはqueryを使用します。
コマンドの使用例をつぎに示します。

$ aws dynamodb query \
    --table-name Music \
    --key-condition-expression "Artist = :artist" \
    --expression-attribute-values '{":artist": {"S": "No One You Know"}}' \
    --return-consumed-capacity TOTAL

テーブルからデータを削除する

テーブルからデータを削除するには、aws dynamodb delete-itemコマンドを使用します。

$ aws dynamodb delete-item \
    --table-name Music \
    --key '{"Artist": {"S": "No One You Know"}, "SongTitle": {"S": "Call Me Today"}}'

テーブルを削除する

DynamoDBのテーブルを削除するにはdelete-tableコマンドを使用します。
つぎのコマンドでは、Musicという名前のテーブルを削除します。

$ aws dynamodb delete-table --table-name Music

Discussion