Mobile Hub に追加された NoSQL Database(DynamoDB) を使ってみる

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは! haruhatahikoです。
GWはお家に引きこもってました…

Mobile Hub に NoSQL Database(Amazon DynamoDB) が追加されたので、使ってみます!

本記事ではサンプルのテーブルを使用し、アプリで動作確認するまでを行います。

プロジェクトの作成

アプリ名を決め、「Create project」を押下する。

mobile-hub-dynamodb-01

DynamoDB の追加

「NoSQL Database」を選択する。

mobile-hub-dynamodb-02

「Enable NoSQL」を選択し、「Add a new table」を押下する。

mobile-hub-dynamodb-03

今回は「Example」を選択します。

mobile-hub-dynamodb-04

5つのExampleの中から、今回は「News」を選択します。

mobile-hub-dynamodb-05

App user permissions are based on each user's identity which is established when users sign in. You can make the table public or configure the User Sign-in feature.

「Protected」を選択すると、上記文言が表示されたので、こちらの記事 を参考にし、「User Sign-in」を設定しました。

「attributes」を指定します。今回は初期値から変更しませんでした。

mobile-hub-dynamodb-06

「index」を指定します。今回は初期値から変更しませんでした。
「Create table」を押下します。

mobile-hub-dynamodb-07

「Create table」を押下します。

mobile-hub-dynamodb-08

「NoSQL Database」が設定されました!
(途中で追加した「User Sign-in」も設定されています)

mobile-hub-dynamodb-09

アプリを起動し、サンプルデータを追加する

「Buildタブ」を選択し、アプリをダウンロードします。
今回は「iOS Obj-C」を選択しました。

アプリを起動すると、「User Sign-in」で設定したログインを求められますので、ログインを行ってください。

「NoSQL Database」を選択する。

mobile-hub-dynamodb-10

「Demo NoSQL Database」を押下する。

mobile-hub-dynamodb-11

先ほど「News」テーブルが表示されるので選択します。

mobile-hub-dynamodb-12

下に表示されている「Insert Sample Data」を押下します。
サンプルデータが20件追加されます。

mobile-hub-dynamodb-13

動作確認

以上により、Mobile Hub に追加された NoSQL Database(Amazon DynamoDB) を動作確認できる環境が整いました。
アプリでは下記Queryを実行することができます。

Primary Index Queries Examples
Get Item Find item with userId = ABC and articleId = ABC
Query by Partition Key Find all items with userId = ABC
Query by Partition Key, and Filter Find all items with userId = ABC and author begins with XY
Query by Partition Key and Sort Condition Find all items with userId = ABC and articleId is < zzz
Query by Partition Key, Sort Condition, and Filter Find all items with userId = ABC and articleId is between aaa and zzz and author begins with XY

今回は「Get Item」を動かしてみます。
「Get Item」を選択します。

mobile-hub-dynamodb-14

DynamoDBから情報を取得することができました!

mobile-hub-dynamodb-15

まとめ

スマートフォンの案件で DynamoDB を利用する際、Mobile Hubで簡単にサンプルプロジェクトを組み立て、動作確認しておくとより良い設計ができそうだと思いました。

参考

https://dev.classmethod.jp/cloud/aws/mobile-hub-overview/ https://dev.classmethod.jp/cloud/aws/android_mobile-hub_part1/ https://dev.classmethod.jp/cloud/aws/android_mobile-hub_part2/