创建和查询 NoSQL 表

在本教程中,您将学习如何使用 DynamoDB 控制台创建简单的表、添加数据、扫描和查询数据、删除数据以及删除表。DynamoDB 是一种完全托管的 NoSQL 数据库,支持文档和键值两种存储模式。它拥有灵活的数据模型、可靠的性能以及自动的吞吐容量扩展功能,这使其成为移动、Web、游戏、广告技术、物联网和众多其他应用程序的不二之选。

在本教程中完成的所有操作均符合免费套餐条件。

创建和查询 NoSQL 表需要拥有账户

在几分钟内创建免费账户

AWS 免费套餐提供 25GB 的存储量,每月通过 Amazon DynamoDB 最多提供 2 亿次请求。

查看 AWS 免费套餐详细信息 »

 

当您单击此处时,AWS 管理控制台将在新的浏览器窗口中打开,因此您可以将本分步指南保持打开状态。此屏幕加载完成后,在服务搜索栏中键入 DynamoDB,然后单击以打开 DynamoDB 控制台。

AWS 控制台图像

(单击以缩放)

tmt_create-nosql-table-01

在此步骤中,您将使用 DynamoDB 控制台来创建 NoSQL 表。


a. 在 DynamoDB 控制台中,单击 Create Table

create-select-nosql1

(单击以缩放)

create-select-nosql1

b. 我们将使用一个音乐库作为本教程的使用案例。在 Table name 字段中,键入“Music”。

create-select-nosql_a0

(单击以缩放)

create-select-nosql_a0

c. Partition Key 用于跨分区传播数据,以实现可扩展性。务必选择具有多种值的属性,并且该属性应当很可能具有平均分布的访问模式。在 Partition Key 字段中键入“Artist”。

 

create-select-nosql_a1

(单击以缩放)

create-select-nosql_a1

d. 由于每位艺术家可能会谱写很多歌曲,您可以使用 Sort Key,帮助用户轻松实现排序。选中 Add sort key 复选框。在 Sort Key 字段中键入“SongTitle”。

 

create-select-nosql_a2

(单击)

create-select-nosql_a2

e. 接下来,我们将为此表启用 DynamoDB Auto Scaling。

DynamoDB Auto Scaling 将根据请求量更改表的读取和写入容量。DynamoDB 将使用名为“DynamoDBAutoscaleRole”的 IAM 角色,代表您管理 Auto Scaling 进程。DynamoDB 会在您首次启用账户中的 Auto Scaling 时为您创建此角色。

取消选中使用默认设置,指导 DynamoDB 创建此角色。

create-select-nosql23

(单击以缩放)

create-select-nosql23

f. 向下滚动屏幕,跳过二级索引、预置容量和 Auto Scaling 找到创建按钮。我们不在本教程中更改这些设置。

在“Auto Scaling”部分,请注意 DynamoDB 将为您创建“DynamoDBAutoscaleRole”角色。

现在选择创建

当“音乐”表准备就绪时,就会出现在表列表中,并且旁边会出现一个复选框。

恭喜您!您现在已经使用 Amazon DynamoDB 控制台创建了一个 NoSQL 表。

create-select-nosql25

(单击以缩放)

create-select-nosql25

在此步骤中,您要将数据添加到新的 DynamoDB 表中。


a. 单击 Items 选项卡。在“Items”选项卡下,单击 Create item

create-select-nosql_a3

(单击以缩放)

create-select-nosql_a3

b. 在数据输入窗口中,键入以下内容:

  • 对于“Artist”属性,键入“No One You Know”
  • 对于“SongTitle”属性,键入“Call Me Today”
  • 单击“Save”保存该项目。
create-select-nosql9

(单击以缩放)

create-select-nosql9

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
create-select-nosql_a5

(单击以缩放)

create-select-nosql_a5

在此步骤中,您将使用查询操作搜索表中的数据。在 DynamoDB 中,查询操作非常高效,在扫描整个表时使用键来查找数据。


a. 使用项目上方深灰条中的下拉列表,将 Scan 改为 Query

create-select-nosql24

(单击以缩放)

create-select-nosql24

b. 您可以使用控制台,以多种方式查询“Music”表。第一次查询时,请执行以下操作:

  • 在“Artist”字段中键入“No One You Know”,然后单击 Start search。此时将显示所有由“No One You Know”演唱的歌曲。

再尝试执行一次查询:

  • 在“Artist”字段中键入“The Acme Band”,然后单击 Start search。此时将显示所有由“The Acme Band”演唱的歌曲。
create-select-nosql12

(单击以缩放)

create-select-nosql12

c. 再执行一次查询,但这次缩小搜索结果的范围:

  • 在“Artist”字段中键入“The Acme Band”
  • 在“SongTitle”字段中,从下拉列表中选择“Begins with”,并键入“S”
  • 单击 Start search。此时只会显示“The Acme Band”演唱的“Still in Love”。

 

create-select-nosql15

(单击以缩放)

create-select-nosql15

在此步骤中,您将删除 DynamoDB 表中的项目。


将下拉列表中的 Query 改回 Scan

单击“The Acme Band”旁边的复选框。此时所选项目将变为突出显示。在 Actions 下拉列表中,选择 Delete。系统将询问您是否要删除该项目。单击 Delete,该项目即被删除。

create-select-nosql_a6

(单击以缩放)

create-select-nosql_a6

在此步骤中,您将删除 DynamoDB 表。


您可以使用 Amazon DynamoDB 控制台,轻松删除表。事实上,最好在您不再需要表时将其删除,以免继续为其付费。

  • 在 Amazon DynamoDB 控制台中,单击“音乐”表旁的单选按钮,然后单击删除表
  • 此时将显示确认对话框,请单击 Delete 按钮。

注意:默认情况下,CloudWatch 也会提醒您该表被删除了。此过程需要持续几秒钟时间。

create-select-nosql20

(单击以缩放)

create-select-nosql20

您已经创建了第一个 DynamoDB 表,向表中添加了项目,然后查询了该表以找到您需要的数据。 您还学习了如何通过 AWS 管理控制台,直观地管理 DynamoDB 表和项目。

DynamoDB 非常适用于移动、网络、游戏、广告技术和物联网应用程序,对它们来说,可扩展性、吞吐量和可靠的性能是关键的考虑因素。


现在,您已经学习了如何从管理控制台创建、管理和查询表和项目,因此可以进入下一教程,学习如何导入大量数据,然后快速、轻松地找到您需要的信息。您将导入一个电影数据库,看看如何快速找到关于您喜爱的演员和角色的详细信息。

学习 DynamoDB 操作的基础知识 »