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の準備完了です。
[続く]
|