AWS DynamoDB: パーティションキーでアイテムをクエリ
aws dynamodb queryを使用して、キー条件、フィルター式、プロジェクションでDynamoDBテーブルをパーティションキーでクエリします。
DynamoDB Operations
詳細な説明
DynamoDBテーブルのクエリ
aws dynamodb queryコマンドは、パーティションキーを使用してDynamoDBテーブルからアイテムを取得します。すべてのアイテムを読み取るscanとは異なり、queryはパーティションを直接検索するため効率的です。
基本的なクエリ
aws dynamodb query \
--table-name Orders \
--key-condition-expression "customerId = :cid" \
--expression-attribute-values '{":cid": {"S": "customer-123"}}'
ソートキー範囲付きクエリ
aws dynamodb query \
--table-name Orders \
--key-condition-expression "customerId = :cid AND orderDate BETWEEN :start AND :end" \
--expression-attribute-values '{
":cid": {"S": "customer-123"},
":start": {"S": "2024-01-01"},
":end": {"S": "2024-12-31"}
}'
QueryとScanの主な違い
| 項目 | Query | Scan |
|---|---|---|
| パーティションキー必須 | はい | いいえ |
| パフォーマンス | 高速(対象を絞る) | 低速(テーブル全体) |
| コスト | 低(一致するパーティションのみ読む) | 高(すべてのアイテムを読む) |
| ユースケース | パーティションキーが既知 | アドホック探索 |
ユースケース
DynamoDBからのユーザー固有データの取得、注文履歴の検索、セッションレコードの取得、パーティションキー範囲内の時系列データのクエリ。