使用 Amazon DynamoDB 创建和查询 NoSQL 表
概述
在本教程中,您将学习如何使用 DynamoDB 控制台来创建简单的表、添加数据、扫描和查询数据、删除数据以及删除表。DynamoDB 是一款全托管 NoSQL 数据库,既支持文档存储模型,又支持键值存储模型。它灵活的数据模型、可靠的性能以及自动扩缩的吞吐量使其非常适合移动、Web、游戏、广告技术、物联网和许多其他应用程序。
本教程涉及的所有服务均可通过 Free Tier 免费试用。
AWS 使用经验
新手
完成时间
10 分钟
所需费用
可通过 Free Tier 免费试用
前提条件
- AWS 账户
- 推荐浏览器:最新版本的 Chrome 或 Firefox
[**]在过去 24 小时内新创建的账户可能无法使用本教程所需的服务。
使用的服务
上次更新时间
2022 年 7 月 11 日
操作步骤
打开 AWS 管理控制台,使本分步指南保持打开状态。此页面加载后,在搜索栏中输入 DynamoDB 并选择打开 DynamoDB 控制台。
-
创建 NoSQL 表
在此步骤中,您将使用 DynamoDB 控制台创建表。
a. 在 DynamoDB 控制台上,点击 Create table(创建表)。
b. 在本教程中,我们将使用一个音乐库作为使用案例。在 Table name(表名)文本框中,输入 Music。
c. 分区键用于跨分区分布数据以实现可扩展性。重要的是选择一个取值范围较广且可能具有均匀分布式访问模式的属性。在 Partition key(分区键)文本框中,输入 Artist。
d. 因为每位艺术家可能会写很多首歌曲,您可以使用排序键轻松排序。在 Sort key(排序键)文本框中,输入 songTitle。
e. 接着,为您的表启用 DynamoDB 自动扩缩。
DynamoDB 自动扩缩会基于请求量改变表的读写能力。DynamoDB 将使用名为 DynamoDBAutoscaleRole 的 Amazon Identity and Access Management (Amazon IAM) 角色代表您管理扩展过程。当您首次在账户中启用自动扩缩时,DynamoDB 会为您创建此角色。
若要为您的表启用 DynamoDB 自动扩缩,请选择 Customize settings(自定义设置)。
f. 向下滚动页面,滑过 Secondary indexes(二级索引)、Estimated read/write capacity cost(预估读/写容量成本)、Encryption at rest(静态加密)和 Tags(标签)至 Create table(创建表)按钮。在本教程中,我们不会更改这些设置。
现在点击 Create table(创建表)。
当 Music 表可用时,它会出现在表列表中并带有一个复选框。
恭喜您!您已经使用 DynamoDB 控制台创建了一个 NoSQL 表。
-
向 NoSQL 表中添加数据
在此步骤中,您将向新的 DynamoDB 表中添加数据。
a. 在左侧菜单中选择 Explore items(探索项目),然后选择 Music 表旁边的单选按钮。
b. 在数据输入窗口中,输入以下内容:
- 对于 Artist(艺术家)属性,输入 No One You Know。
- 对于 songTitle(歌名)属性,输入 Call Me Today。
点击 Create item(创建项目)。
c. 重复上述过程,向 Music 表中再添加几个项目:
- Artist(艺术家):No One You Know;songTitle(歌名):My Dog Spot
- Artist(艺术家):No One You Know;songTitle(歌名):Somewhere Down The Road
- Artist(艺术家):The Acme Band;songTitle(歌名):Still in Love
- Artist(艺术家):The Acme Band;songTitle(歌名):Look Out, World
- 对于 Artist(艺术家)属性,输入 No One You Know。
-
查询 NoSQL 表
在此步骤中,您将执行查询操作来搜索表中的数据。在 DynamoDB 中,查询操作非常高效,可以使用键来查找数据。扫描操作会遍历整个表。
a. 点击 Scan/Query items(扫描/查询项目)旁边的箭头。然后选择 Query(查询)。
b. 您可以通过多种方式使用控制台查询 Music 表。首次查询时,请按照以下步骤操作:
- 在 Artist(艺术家)文本框中,输入 No One You Know,然后点击 Run(运行)。系统将显示 No One You Know 演唱的所有歌曲。尝试另一个查询:
尝试另一个查询:
- 在 Artist(艺术家)文本框中,输入 The Acme Band,然后点击 Run(运行)。系统将显示 The Acme Band 演唱的所有歌曲。
c. 尝试另一个查询,但这次缩小搜索结果的范围:
- 在 Artist(艺术家)文本框中,输入 The Acme Band。
- 在 songTitle(歌名)文本框中,从下拉菜单中选择 Begins with(开头为),然后输入 S。
- 点击 Run(运行)。系统仅显示 The Acme Band 演唱的“Still in Love”。
- 在 Artist(艺术家)文本框中,输入 No One You Know,然后点击 Run(运行)。系统将显示 No One You Know 演唱的所有歌曲。尝试另一个查询:
-
删除现有项目
在此步骤中,您将从 DynamoDB 表中删除一个项目。
a. 将 Query(查询)下拉菜单改回 Scan(扫描)。
勾选 The Acme Band 旁边的复选框。在 Actions(操作)下拉菜单中,选择 Delete items(删除项目)。系统将询问您是否要删除该项目。点击 Delete(删除),该项目将被删除。
-
删除 NoSQL 表
在此步骤中,您将删除 DynamoDB 表。
a. 您可以使用 DynamoDB 控制台轻松删除表。最佳做法是删除不再使用的表,以免继续为其付费。
- 在 DynamoDB 控制台中,勾选 Music 表旁边的复选框,然后点击 Delete(删除)。
- 在确认对话框中,输入文本 delete,然后点击 Delete table(删除表)。
- 在 DynamoDB 控制台中,勾选 Music 表旁边的复选框,然后点击 Delete(删除)。
结论
恭喜您!您已经成功创建您的第一个 DynamoDB 表,向该表中添加了项目,并通过查询该表找到了您想要的项目。您还学习了如何通过 AWS 管理控制台直观地管理 DynamoDB 表及其项目。
DynamoDB 非常适合移动、Web、游戏、广告技术和物联网这类对可扩展性、吞吐量和可靠性能要求较高的应用程序。