DynamoDBのチュートリアルの内容をAWS CLIで試してみる
はじめに
この記事では、AWSが提供するDynamoDBのチュートリアルについて、AWS CLIを用いて試した内容をまとめています。
DynamoDBのチュートリアルは、上記のページにいくつか登録されていますが、今回は『NoSQL テーブルを作成してクエリを実行する』を参考にしています。
コマンドを確認する
まずは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
このコマンドでは、オートスケーリングは有効になりません。
今回オートスケーリングの有効化は試していませんが、こちらのドキュメントが参考になりそうです。
テーブル一覧を取得する
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