使用 AWS SDK for Python (Boto) 的 DynamoDB 示例应用程序:井字游戏
井字游戏是一个示例 Web 应用程序,在 Amazon DynamoDB 中构建。该应用程序使用 AWS SDK for Python (Boto) 发出必需的 DynamoDB 调用,将游戏数据存储到 DynamoDB 表中,并使用 Python Web 框架 Flask 来说明 DynamoDB 中的端到端应用程序开发过程,包括如何对数据进行建模。其中还演示了在 DynamoDB 中对数据进行建模时的最佳实践,包括您为游戏应用程序创建的表、定义的主键、基于查询要求所需的其他索引以及连接值属性的使用。
在 Web 上玩井字游戏应用程序的方法如下所示:
-
登录到应用程序主页。
-
然后邀请另一个用户以您的对手身份玩游戏。
在另一个用户接受您的邀请之前,游戏状态将保持为
PENDING
。在对手接受邀请之后,游戏状态将更改为IN_PROGRESS
。 -
在对手登录并接受邀请后,游戏开始。
-
应用程序将游戏中的所有移动步骤和状态信息存储到 DynamoDB 表中。
-
游戏结束时会显示获胜或平手,这会将游戏状态设置为
FINISHED
。
以下步骤介绍了端到端应用程序构建体验:
-
第 1 步:在本地进行部署和测试 – 在本部分中,在本地计算机中下载、部署和测试应用程序。您将在 DynamoDB 的可下载版本中创建所需的表。
-
第 2 步:检查数据模型和实施详细信息 – 本部分首先详细介绍数据模型,包括索引和连接值属性的使用。本部分接下来说明本应用程序的工作方式。
-
第 3 步:在生产环境中使用 DynamoDB 服务进行部署 – 本部分侧重于生产中的部署注意事项。在本步骤中,您将使用 Amazon DynamoDB 服务创建表并使用 AWS Elastic Beanstalk 部署应用程序。在生产环境中使用本应用程序时,您还需要授予合适的权限,以便应用程序访问 DynamoDB 表。本部分中的说明将引导您完成端到端的生产部署。
-
步骤 4:清理资源 – 本部分重点介绍该示例中未包含的领域。本部分还为您提供了若干步骤,删除您在之前步骤中创建的 AWS 资源,以免产生任何费用。