第 7 步:查询该全局二级索引 - Amazon DynamoDB

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

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

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

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

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

  2. 在左侧导航窗格中,选择

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

  4. 选择 Explore table items(浏览表项目)。

  5. 扫描或查询项目中,保留查询的默认选择内容。

  6. 对于选择表或索引,选择 AlbumTitle-index

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

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

DynamoDB API

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

Linux

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

Windows CMD

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 执行此操作。

Linux

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

Windows CMD

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 选择语句