**
「PrimaryKeyType」が「Hash and Range」のテーブルを作成
- 今回は分かりやすいようにRange_key有りの上記のテーブルを作成します。
以下の名前とタイプで作成してみます。
※今回はIndexは利用しません。
Hash : Id :String
※今回はIndexは利用しません。
Hash : Id :String
Range : DateTime:String
サンプルデータのインプット
- 次に、簡単なサンプルデータをインプットするスクリプトを実行します。
Hashkeyには配列の値をランダムに登録、Rangekeyである「DateTime」では登録するデータが1日ずつ増えていきます。
また、分かりやすいように番号も登録しています。
1#!/usr/bin/env ruby23require 'rubygems'4require 'aws-sdk'56#AWS.config(config)78dynamo_db = AWS::DynamoDB.new(9 :dynamo_db_endpoint => "dynamodb.ap-northeast-1.amazonaws.com",10 :access_key_id => 'xxxxxxxxxxxxxxxxxx',11 :secret_access_key => 'xxxxxxxxxxxxxxxxxx'12)1314table = dynamo_db.tables['DevTable']15table.hash_key = [:Id, :string]16table.range_key = [:DateTime, :string]1718date = Time.now19user = ["userA","userB","userC"]2021for i in 001..100 do22 if (i % 10) == 0 then23 date = date + 24*60*6024 end2526 table.items.create("Id" => user.sample, "DateTime" => "#{date.strftime("%Y-%m-%d")}", "number" => i)27end
クエリーの実行
**
WEBコンソールからクエリーの実行
それでは、WEBコンソールからクエリーを実行してみましょう!
3. 該当のテーブルの「Browse Items」ページで「Scan」から「Query」に変更します。
- Range_keyでは以下の方法を選択出来ます。
- Hash_keyが「userA」の情報だけ取得してみます。
- さらにRange_keyを利用して7月の日付のみを取得してみます。
「Range_key」を「between」にして「2013-07-01」~「2013-07-31」を入力してクリックしてみます。
次回は『Amazon DynamoDB編~DynamoDBをはじめてみよう!パート⑥~』ということで、クエリをRubyから実行してみたいと思います。
お楽しみに!