ステップ 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. [テーブルアイテムの探索] を選択します。

  5. [項目のスキャンまたはクエリ] で、[クエリ] はデフォルトのままにします。

  6. [テーブルまたはインデックスを選択] で、[AlbumTitle-index] を選択します。

  7. [AlbumTitle] に「Somewhat Famous」と入力し、[実行] を選択します。

次の AWS CLI の例では、AlbumTitle-index テーブルのグローバルセカンダリインデックス Music をクエリします。この操作は、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 を介してグローバルセカンダリインデックスにクエリを実行できます。

注記

CLI を介してこれを行うため、MusicAlbumTitle-index を囲む二重引用符をエスケープする必要があります。

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 選択ステートメント」を参照してください。