Amazon DynamoDB編~DynamoDBをはじめてみよう!パート⑤~

**

「PrimaryKeyType」が「Hash and Range」のテーブルを作成

  1. 今回は分かりやすいようにRange_key有りの上記のテーブルを作成します。

以下の名前とタイプで作成してみます。

※今回はIndexは利用しません。

Hash : Id :String

※今回はIndexは利用しません。

Hash : Id :String

Range : DateTime:String

20130705_01_01
※以前の記事『Amazon DynamoDB編~DynamoDBをはじめてみよう!パート①~』を参考にして下さい。

サンプルデータのインプット

  1. 次に、簡単なサンプルデータをインプットするスクリプトを実行します。

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
20130705_01_02
**

クエリーの実行

**

WEBコンソールからクエリーの実行

それでは、WEBコンソールからクエリーを実行してみましょう!

3. 該当のテーブルの「Browse Items」ページで「Scan」から「Query」に変更します。

20130705_01_03
  1. Range_keyでは以下の方法を選択出来ます。
20130705_01_04
  1. Hash_keyが「userA」の情報だけ取得してみます。
20130705_01_05
  1. さらにRange_keyを利用して7月の日付のみを取得してみます。

「Range_key」を「between」にして「2013-07-01」~「2013-07-31」を入力してクリックしてみます。

20130705_01_06
いかがでしたでしょうか?

次回は『Amazon DynamoDB編~DynamoDBをはじめてみよう!パート⑥~』ということで、クエリをRubyから実行してみたいと思います。

お楽しみに!

この記事を書いた人

aws-recipe-user