第 7 步:查询全局二级索引 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

第 7 步:查询全局二级索引

在这一步中,使用 Amazon DynamoDB 控制台或 Amazon CLI 查询 Music 表的全局二级索引。

有关全局二级索引的更多信息,请参阅 在 DynamoDB 中使用全局二级索引

按照以下步骤来使用 DynamoDB 控制台通过 AlbumTitle-index 全局二级索引查询数据。

  1. 打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/

  2. 在控制台左侧的导航窗格中,选择

  3. 从表列表中选择 Music 表。

  4. 选择 View items (查看项目)

  5. 选择 Query (查询)

  6. Query (查询) 下的下拉列表中,选择 AlbumTitle-index

    对于 AlbumTitle,输入 Somewhat Famous,然后选择 Run (运行)

下面的 Amazon CLI 示例查询 Music 表上的全局二级索引 AlbumTitle-index。您可以通过 DynamoDB API 或 PartiQL(一种适用于 DynamoDB 的 SQL 兼容查询语言)执行此操作。

DynamoDB API

您可以通过使用 query 并提供索引名称来通过 DynamoDB API 查询全局二级检索。

aws dynamodb query \ --table-name Music \ --index-name AlbumTitle-index \ --key-condition-expression "AlbumTitle = :name" \ --expression-attribute-values '{":name":{"S":"Somewhat Famous"}}'

使用 query 返回以下示例结果。

{ "Items": [ { "AlbumTitle": { "S": "Somewhat Famous" }, "Awards": { "S": "1" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } }, { "AlbumTitle": { "S": "Somewhat Famous" }, "Awards": { "N": "2" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Howdy" } } ], "Count": 2, "ScannedCount": 2, "ConsumedCapacity": null }
PartiQL for DynamoDB

您可以通过使用 Select 语句并提供索引名称来通过 PartiQL 查询全局二级检索。

注意

您需要转义 MusicAlbumTitle-index 两边的双引号,因为您是通过 CLI 执行此操作。

aws dynamodb execute-statement --statement "SELECT * FROM \"Music\".\"AlbumTitle-index\" \ WHERE AlbumTitle='Somewhat Famous'"

使用 Select 语句返回以下示例结果。

{ "Items": [ { "AlbumTitle": { "S": "Somewhat Famous" }, "Awards": { "S": "1" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Call Me Today" } }, { "AlbumTitle": { "S": "Somewhat Famous" }, "Awards": { "S": "2" }, "Artist": { "S": "No One You Know" }, "SongTitle": { "S": "Howdy" } } ] }

有关使用 PartiQL 查询数据的更多信息,请参阅 PartiQL 选择语句