写真をアップロードするモバイルアプリケーションを作成しているとします。ユーザーはアプリケーションを介して写真をアップロードし、友達はその写真を表示できます。

ご使用のアプリケーションはソーシャルアプリケーションなので、ユーザーは友達を見つけてフォローしたいと思われることでしょう。友達をフォローすることで、ユーザーは友達の新しい写真に関して通知を受け取り、友達にメッセージを送ることができます。

アプリケーションを使用する場合、ユーザーは、特定のユーザーのすべての写真を最新の写真から閲覧する必要があります。

最後に、ユーザーは 4 つの絵文字 (ハート、スマイル、親指、サングラス) のいずれかで写真に対する反応を残すことができます。写真を見るとき、ユーザーは、写真に残された各反応タイプの数を確認できます。

このラボでは、DynamoDB テーブルをモデル化して、アプリケーションのアクセスパターンを処理する方法を学びます。次のモジュールでは、いくつかのコアデータモデリング戦略と、新しいトランザクション機能を使用して、高速でパフォーマンスの高い方法で DynamoDB を使用する方法を示します。

このモジュールの手順では、環境を構成し、ラボで実行するコードをダウンロードします。

モジュールの所要時間: 20 分

 


  • ステップ 1: AWS アカウントを作成する

    このラボでは、個人の AWS アカウントを使用するか、新しい AWS アカウントを作成します。組織のアカウントを使用しないでください。これにより、必要なサービスへのフルアクセスが可能になり、ラボのリソースを残しません。終了時にこのラボで使用したリソースを削除しないと、AWS の料金が発生する場合があります。

  • ステップ 2: AWS Cloud9 IDE をセットアップする

    AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。AWS Cloud9 には、コードエディタ、デバッガー、ターミナルが含まれています。Cloud9 には一般的なプログラム言語と AWS コマンドラインインターフェイス (CLI) に必要なツールがあらかじめパッケージされており、このラボ用にファイルをインストールしたりノートパソコンを設定したりする必要はありません。AWS Cloud9 環境には、AWS マネジメントコンソールにサインインしたユーザーと同じ AWS リソースへのアクセス権があります。

    それでは少し時間を取って AWS Cloud9 開発環境を設定しましょう。
    1. AWS マネジメントコンソールに移動し、ページ上部の [サービス] を選択してから、[開発者ツール] で [Cloud9] をクリックします。
    2. [環境を作成する] を選択します。
    3. [名前] ボックスに「DynamoDB Quick Photos」と入力します。
    4. [次のステップ] をクリックします。
    5. [Environment settings] はデフォルトのままにして、新しい t2.micro EC2 インスタンスを作成します。これは、非アクティブな状態が 30 分続くと休止状態になります。
    6. [次のステップ] をクリックします。
    7. 環境の名前と設定を確認し、[Create environment] を選択します。環境がプロビジョニングされて準備が整うまで数分かかります。
    8. 準備ができたら、IDE が開いてウェルカムノートが表示されます。

    これで、AWS Cloud9 環境が表示されるはずです。次のスクリーンショットが示す通り、AWS Cloud9 コンソールには知っておくべき 3 つの領域があります。

    • ファイルエクスプローラー: IDE の左側に、ファイルエクスプローラーにディレクトリ内のファイルのリストが表示されます。
    • ファイルエディタ: IDE の右上にあるファイルエディタでは、ファイルエクスプローラーで選択したファイルを表示および編集できます。
    • ターミナル: IDE の右下にあり、コードサンプルを操作するコマンドを実行します。

    (クリックして拡大)

  • ステップ 3: サポートコードをダウンロードする

    このラボでは、Python スクリプトを使用して DynamoDB API とやり取りします。AWS Cloud9 ターミナルで次のコマンドを実行して、モジュールコードをダウンロードして解凍します。

    cd ~/environment
    curl -sL https://s3.amazonaws.com/ddb-labs/quick-photos.tar | tar -xv

    AWS Cloud9 ターミナルで次のコマンドを実行して、ディレクトリを表示します。

    ls

    AWS Cloud9 ファイルエクスプローラーに次の 2 つのディレクトリが表示されます。

    • application: アプリケーションディレクトリには、テーブルのデータを読み書きするためのサンプルコードが含まれています。このコードは、実際のモバイルアプリケーションバックエンドにあるコードに似ています。
    • scripts: スクリプトディレクトリには、テーブルの作成、セカンダリインデックスの追加、テーブルの削除などの管理者レベルのスクリプトが含まれています。

このモジュールでは、このラボで構築するサンプルアプリケーションについて学習しました。また、AWS アカウントをセットアップし、AWS Cloud9 インスタンスを設定しました。

これで、ラボを開始する準備が整いました。DynamoDB では、アプリケーションで高速で一貫したパフォーマンスを実現するために、データモデルを事前に計画することが重要です。次のモジュールでは、データモデルのプランニングについて学習します。