Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
Step 7: Query the global secondary
index
In this step, you query a global secondary index on the Music
table using
the Amazon DynamoDB console or the Amazon CLI.
For more information about global secondary indexes, see Using Global Secondary Indexes in DynamoDB.
Follow these steps to use the DynamoDB console to query data through the
AlbumTitle-index
global secondary index.
Open the DynamoDB console at
https://console.amazonaws.cn/dynamodb/.
-
In the left navigation pane, choose Tables.
-
Choose the Music table from the table list.
-
Choose Explore table items.
-
In Scan or query items, keep the default selection of Query.
-
For Select a table or index, choose AlbumTitle-index.
-
For AlbumTitle, enter Somewhat Famous
, and then choose Run.
The following Amazon CLI example queries a global secondary index
AlbumTitle-index
on the Music
table. You can do
this either through the DynamoDB API or PartiQL, a SQL-compatible query language for DynamoDB.
- DynamoDB API
-
You query the global secondary index through the DynamoDB API by
using query
and providing the index name.
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\"}}"
Using query
returns the following sample
result.
{
"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
-
You query the global secondary index through PartiQL by using the
Select
statement and providing the index
name.
You'll need to escape the double quotes around
Music
and AlbumTitle-index
since
you're doing this through the 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'"
Using the Select
statement in this way returns the
following sample result.
{
"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"
}
}
]
}
For more information about querying data with PartiQL, see PartiQL select
statements.