

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 的 DynamoDB 範例應用程式 適用於 Python (Boto) 的 AWS SDK：Tic-tac-toe
<a name="TicTacToe"></a>

井字遊戲是建置在 Amazon DynamoDB 上的範例 Web 應用程式。應用程式使用 適用於 Python (Boto) 的 AWS SDK 進行必要的 DynamoDB 呼叫，以將遊戲資料存放在 DynamoDB 資料表中，並使用 Python Web 架構 Flask 來說明 DynamoDB end-to-end應用程式開發，包括如何建立資料的模型。它也示範在 DynamoDB 中為資料建立模型的最佳實務，包含您為遊戲應用程式建立的資料表、您定義的主索引鍵、根據您的查詢需求所需的其他索引，以及使用串連值屬性。

您在 Web 上玩井字遊戲應用程式的程序如下所示：

1. 您要登入應用程式首頁。

1. 接著邀請另一位使用者做為您的對手玩遊戲。

   在另一位使用者接受您的邀請前，遊戲狀態都會維持在 `PENDING`。對手接受邀請後，遊戲狀態會變更為 `IN_PROGRESS`。

1. 遊戲會在對手登入並接受邀請後開始。

1. 應用程式會將所有遊戲的移動和狀態資訊存放在 DynamoDB 資料表。

1. 遊戲會以獲勝或平手結束，這會將遊戲狀態設為 `FINISHED`。

我們會依步驟說明端對端應用程式的建置練習：
+ **[步驟 1：在本機上部署及測試](TicTacToe.Phase1.md)**：在本節中，您會在您的本機電腦上下載、部署及測試應用程式。您會在可下載版 DynamoDB 中建立必要的資料表。
+ **[步驟 2：檢查資料模型和實作詳細資訊](TicTacToe.Phase2.md)**：本節會先詳細說明資料模型，包含索引和使用串連值屬性。接著會說明應用程式運作的方式。
+ **[步驟 3：使用 DynamoDB 服務在生產環境中部署](TicTacToe.Phase3.md)**：本節重點為生產環境中的部署考量。在此步驟中，您會使用 Amazon DynamoDB 服務建立資料表，並使用 AWS Elastic Beanstalk部署應用程式。當您在生產環境中部署該應用程式時，您還要授予適當的許可，讓應用程式可存取 DynamoDB 資料表。本節說明會帶您演練端對端生產部署。
+ **[步驟 4：清除資源](TicTacToe.AppClosure.md)**：本節重點說明此範例未涵蓋的部分。本節也提供移除您在上述步驟中建立 AWS 之資源的步驟，讓您避免產生任何費用。