翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
プロジェクション式
テーブルからデータを読み込むには、次のような GetItem
、Query
、または Scan
のオペレーションを使用します。Amazon DynamoDB は、デフォルトですべての項目属性を返します。すべての属性ではなく、一部の属性のみを取得するには、プロジェクション式を使用します。
プロジェクション式は、任意の属性を識別する文字列です。1 つの属性を取得するには、名前を指定します。複数の属性の場合、名前をカンマで区切る必要があります。
ProductCatalog
からの 式を使用する時の項目属性の指定 項目に基づく、プロジェクション式のいくつかの例を次に示します。
-
1 つの最上位属性。
Title
-
3 つの最上位属性。DynamoDB は
Color
セット全体を取得します。Title, Price, Color
-
4 つの最上位属性。DynamoDB は
RelatedItems
およびProductReviews
のコンテンツ全体を返します。Title, Description, RelatedItems, ProductReviews
DynamoDB には予約語と特殊文字のリストもあります。最初の文字が a-z
または A-Z
であり、2 番目の文字(ある場合)が a-z
、A-Z
、または 0-9
である場合は、投影式で任意の属性値を使用できます。属性名がこの要件を満たさない場合は、エクスプレッション属性名をプレースホルダーとして定義する必要があります。詳細な一覧については、「DynamoDB の予約語」を参照してください。DynamoDB では、# (ハッシュ) および : (コロン) に特別な意味があります。
DynamoDB では、命名目的でこれらの予約語と特殊文字を使用することができますが、お勧めしません。これは、式でこれらの名前を使用するたびに、プレースホルダー変数を定義する必要があるためです。詳細については、「DynamoDB の式の属性名」を参照してください。
AWS CLI 次の例は、オペレーションでプロジェクションエクスプレッションを使用する方法を示しています。GetItem
この式は最上位スカラー射影内の属性 (Description
)、リスト内の最初の要素 (RelatedItems[0]
)、およびマップ内に入れ子にするリスト (ProductReviews.FiveStar
) を取得します。
aws dynamodb get-item \ --table-name ProductCatalog \ --key file://key.json \ --projection-expression "Description, RelatedItems[0], ProductReviews.FiveStar"
この例では、次の JSON が返されます。
{ "Item": { "Description": { "S": "123 description" }, "ProductReviews": { "M": { "FiveStar": { "L": [ { "S": "Excellent! Can't recommend it highly enough! Buy it!" }, { "S": "Do yourself a favor and buy this." } ] } } }, "RelatedItems": { "L": [ { "N": "341" } ] } } }
--key
の引数は、ファイル key.json
に保存されます。
{ "Id": { "N": "123" } }
プログラミング言語別のコード例については、「DynamoDB および AWS SDK の使用開始」を参照してください。