こんにちは。今回は、aws cliについて初心者エンジニアに向けて、dynamodbテーブルの作成とクエリについて解説します。
aws cliを使用したdynamodbテーブルの作成手順
まずは、aws cliを使用してdynamodbテーブルを作成する手順を紹介します。
- dynamodbテーブルの作成コマンドを実行します。
aws dynamodb create-table \ --table-name mytable \ --attribute-definitions \ attributename=id,attributetype=s \ attributename=timestamp,attributetype=n \ --key-schema \ attributename=id,keytype=hash \ attributename=timestamp,keytype=range \ --provisioned-throughput \ readcapacityunits=5,writecapacityunits=5
- dynamodbテーブルの作成が成功した場合、以下のようなレスポンスが返されます。
{ "tabledescription": { "tablename": "mytable", "tablestatus": "creating", ... } }
以上で、dynamodbテーブルの作成手順は完了です。
dynamodbテーブルの属性とキーの設定方法
次に、dynamodbテーブルの属性とキーの設定方法について解説します。
-
属性の設定
dynamodbテーブルの属性は、--attribute-definitions
オプションを使用して定義します。aws dynamodb create-table \ --table-name mytable \ --attribute-definitions \ attributename=id,attributetype=s \ attributename=timestamp,attributetype=n \ ...
-
キーの設定
dynamodbテーブルのキーは、--key-schema
オプションを使用して定義します。aws dynamodb create-table \ --table-name mytable \ --key-schema \ attributename=id,keytype=hash \ attributename=timestamp,keytype=range \ ...
-
参考ブログ記事2: aws advent calendar 2017 – aws cliでdynamodbを使う時の基礎
aws cliでのdynamodbテーブルへのデータの挿入と更新
aws cliを使用してdynamodbテーブルへのデータの挿入と更新方法を解説します。
-
データの挿入
dynamodbテーブルにデータを挿入するには、put-item
コマンドを使用します。aws dynamodb put-item \ --table-name mytable \ --item '{ "id": {"s": "123"}, "timestamp": {"n": "1609459200"}, "title": {"s": "hello world"}, "content": {"s": "this is a sample blog post"} }'
-
データの更新
dynamodbテーブルのデータを更新するには、update-item
コマンドを使用します。aws dynamodb update-item \ --table-name mytable \ --key '{ "id": {"s": "123"}, "timestamp": {"n": "1609459200"} }' \ --update-expression 'set content = :content' \ --expression-attribute-values '{":content":{"s":"updated content"}}'
-
参考ブログ記事3: scalable web architecture and distributed systems – dynamodb and aws cli: a story of two friends
dynamodbテーブルのスキャンとクエリの基本的な使い方
dynamodbテーブルのスキャンとクエリの基本的な使い方を解説します。
-
テーブルのスキャン
テーブル全体をスキャンするには、scan
コマンドを使用します。aws dynamodb scan \ --table-name mytable
-
クエリの実行
クエリを実行するには、query
コマンドを使用します。aws dynamodb query \ --table-name mytable \ --key-condition-expression 'id = :id' \ --expression-attribute-values '{":id":{"s":"123"}}'
aws cliを使ったdynamodbテーブルのインデックスとパーティションキーの設定
最後に、aws cliを使用してdynamodbテーブルのインデックスとパーティションキーを設定する方法を解説します。
-
グローバルセカンダリインデックスの追加
グローバルセカンダリインデックスを追加するには、update-table
コマンドを使用します。aws dynamodb update-table \ --table-name mytable \ --attribute-definitions \ attributename=category,attributetype=s \ --global-secondary-index-updates \ '[{ "create": { "indexname": "categoryindex", "keyschema": [ {"attributename": "category","keytype": "hash"} ], "projection": { "projectiontype": "all" }, "provisionedthroughput": { "readcapacityunits": 5, "writecapacityunits": 5 } } }]'
-
ローカルセカンダリインデックスの追加
ローカルセカンダリインデックスを追加するには、update-table
コマンドを使用します。aws dynamodb update-table \ --table-name mytable \ --attribute-definitions \ attributename=userid,attributetype=n \ attributename=timestamp,attributetype=n \ --local-secondary-index-updates \ '[{ "create": { "indexname": "useridindex", "keyschema": [ {"attributename": "id","keytype": "hash"}, {"attributename": "timestamp","keytype": "range"} ], "projection": { "projectiontype": "all" } } }]'
以上で、dynamodbテーブルのインデックスとパーティションキーの設定方法の解説は完了です。
以上で、aws cliを使用したdynamodbテーブルの作成とクエリについての解説を終わります。初心者エンジニアの皆さんが、aws cliを使ってdynamodbを効果的に活用できるようになることを願っています。
【aws cli】関連のまとめ
オンラインスクールを講師として活用する!