絖綛 N@i.jp  昨日:00000000
 今日:00027885
 総計:00027885
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:04/16 19:55


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

IRKitスマートホームスキルの改良(3)

DynamoDBに保存先のテーブルと項目を作成します


2. DynamoDBに保存先のテーブルと項目を作成する

 DynamoDBも一般的なデータベースと同様、テーブルにデータを保存します。テーブルというのは、要するに配列ですね。あるデータの入れ物が、ずらっと並んだ構造をしている物のことです。Excelの表を思い浮かべても良いかもしれません(Excelは縦横方向の二次元配列と思えば良いかな)。
 入れ物には、一つのデータだけ入れても良いし、複数のデータを入れることもできます。ただ、どの入れ物かを特定できるようにするための「キー」を持たせる必要があります。ある入れ物の「キー」はテーブル内で唯一固有の値である必要があります。同じキー値を持った入れ物が複数あったら、どの入れ物なのか特定できなくなってしまうからです。キー値をテーブル(配列)の添え字(インデックス)つまり整数値にしてしまっても良いですね。例えば、テーブルの名前をAとすると、先頭の入れ物はA[0]、その次の入れ物はA[1]という具合です。
 ただ、データベースの場合のキーはもっと柔軟で、整数値である必要はなく、文字列などでも構いません。要するにテーブル内で固有の値でありさえすれば良いので、A["zero"]、A["one"]でも構わないわけです。

 入れ物も一つのデータだけでなく、複数のデータをまとめて入れておくことができます。A["zero"]の中に、名前と値を入れておくと言った感じです。入れ物のことは「項目」と呼びます。

 さて、話を今回のスマートホームスキルに戻して、スキルで行った操作の結果を保存するためのテーブルはどのような構造にしたら良いかを考えましょう。項目には行った操作の結果を入れるのですから、電源の状態(オン/オフ)と、輝度の状態(0〜100%)を入れるようにすれば良いですね。キーはどうしましょう?今回は読み書きする項目はいつも同じ項目です。項目が1つあれば足りてしまうのですが、将来同じように他の機器(例えば寝室の照明や、エアコン、扇風機など)も追加できるようにしておいた方が良いですね。と言うことで、キーは機器を特定できる名前にしましょう。今回はリビングの照明なので、キー値は"LivingLight" という文字列にしましょう。

 方針が決まったところで、テーブルと項目を作っていきましょう。

1) テーブルの作成

 DynamoDBサービスに移ります。

 左上の「サービス」をクリックして、検索の入力欄に"Dy"と入力すると「DynamoDB マネージドNoSQLデータベース」と表示されますので、これをクリックするとDynamoDBサービスに移動できます。

 DynamoDBの左ペインで「テーブル」を選び、「テーブルの作成」ボタンをクリックします。

 テーブル名とプライマリーキーを入力します。テーブル名は分かりやすい任意の名前を(今回は "SmartIRKit" としています)、プライマリーキーが機器を特定できる名前を入れる文字列になります。機器の名前(識別子)と言うことで、今回は簡単に "id" としています。テーブルの設定はデフォルト設定のままにして、右下の「作成」ボタンをクリック。

 暫く待っているとテーブルが作成され、このような画面になります。

2) 項目の作成

 テーブルが出来たら、その中の項目を作ります。「項目」タブをクリックして、

「項目の作成」ボタンをクリックします。

項目の作成画面では、Treeで項目の中に入れる構造を作って行くこともできますが、今回は単純な構造なので左上のメニューで「Text」の方を選択します。

Textでは、このようなエディタで項目を作ることができます。上記のように書いて右下の「保存」ボタンをクリック。

 すると、このように項目が作成されます。以上でDynamoDBの準備完了です。

[続く]


< 過去の記事 [ 1月の プログラミング リスト ] 新しい記事 >

2018 calendar
1月
123456
78910111213
14151617181920
21222324252627
28293031


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.