Amazon DynamoDB
開発者ガイド (API バージョン 2012-08-10)

AWS SDK for Python (Boto) を使用した DynamoDB サンプルアプリケーション: Tic-Tac-Toe

Tic-Tac-Toe ゲームは、Amazon DynamoDB 上に構築されたサンプルウェブアプリケーションです。このアプリケーションは AWS SDK for Python (Boto) を使用して、DynamoDB テーブルにゲームデータを保存するのに必要な DynamoDB 呼び出しを行います。また、Python ウェブフレームワーク Flask を使用して、データのモデル化の方法を含む DynamoDB でのエンドツーエンドのアプリケーション開発について説明します。また、DynamoDB でのデータのモデル化に関するベストプラクティスを示します。これには、ゲームアプリケーション用に作成するテーブル、ユーザーが定義するプライマリキー、クエリ要件に基づいて必要になる追加のインデックス、および連結された属性値の使用が含まれます。

Tic-Tac-Toe アプリケーションは、次のようにしてウェブ上でプレイします。

  1. アプリケーションのホームページにログインします。

  2. 次に、他のユーザーを対戦相手としてゲームに招待します。

    他のユーザーが招待を受け入れるまで、ゲームのステータスは PENDING となります。対戦相手が招待を受け入れると、ステータスは IN_PROGRESS に変わります。

  3. ゲームは、対戦相手がログインして招待を受け入れてから開始されます。

  4. アプリケーションはゲームのすべての動きやステータス情報を DynamoDB テーブルに格納します。

  5. ゲームは優勝または引き分けで終わり、これによりゲームのステータスは FINISHED に設定されます。

アプリケーション構築についてすべて網羅した演習を各ステップで示します。

  • ステップ 1: ローカルにデプロイおよびテストを実行する – このセクションでは、アプリケーションをローカルコンピュータにダウンロード、デプロイ、およびテストします。DynamoDB のダウンロード可能バージョンで、必要なテーブルを作成します。

  • ステップ 2: データモデルと実装の詳細を調べる – このセクションでは、最初にインデックスと連結属性値の使用を含めて、データモデルについて詳細に説明します。次に、アプリケーションの動作について説明します。

  • ステップ 3: DynamoDB サービスを使用して本稼働環境でデプロイする – このセクションでは、本稼働環境でのデプロイの考慮事項について説明します。このステップでは、Amazon DynamoDB サービスを使用してテーブルを作成し、AWS Elastic Beanstalk を使用してアプリケーションをデプロイします。本稼働環境にアプリケーションがある場合は、アプリケーションが DynamoDB テーブルにアクセスできるように、適切なアクセス許可を付与します。このセクションの手順では、本稼働デプロイについて詳細に説明します。

  • ステップ 4: リソースをクリーンアップする – このセクションでは、この例で説明されていない分野を取り上げます。また、料金が発生しないようにするため、前のステップで作成した AWS リソースを削除するためのステップについても説明します。