Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

DynamoDB の式の属性名 (エイリアス)

フォーカスモード
DynamoDB の式の属性名 (エイリアス) - Amazon DynamoDB

式の属性名は、実際の属性名の代わりとして Amazon DynamoDB の式で使用するエイリアス (またはプレースホルダー) です。式の属性名は、シャープ記号 (#) で始める必要があり、1 つ以上の英数字が続きます。アンダースコア (_) 文字も使用できます。

このセクションでは、式の属性名を使用する必要があるいくつかの状況について説明します。

注記

このセクションの例では AWS Command Line Interface (AWS CLI) を使用します。

予約語

DynamoDB 予約語と競合する属性名を含む式を書く必要が生じることもあります。予約語の一覧については、「DynamoDB の予約語」を参照してください。

たとえば、AWS CLI は予約語であるため、次の COMMENT の例は失敗します。

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"123"}}' \ --projection-expression "Comment"

この問題に対処するには、Comment を、#c などの式の属性名で置き換えることができます。#(シャープ記号)は必須であり、これが属性名のプレースホルダーであることを示します。AWS CLI の例は次のようになります。

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"123"}}' \ --projection-expression "#c" \ --expression-attribute-names '{"#c":"Comment"}'
注記

属性名が数値で始まるか、スペースまたは予約語を含む場合、式の属性名を使用して式のその属性名を置き換える必要があります

特殊文字を含む属性名

式では、ドット (".") はドキュメントパスの区切り文字として解釈されます。ただし、DynamoDB では属性名の一部としてドット文字や、ハイフン (「-」) などの特殊文字を使用することもできます。これは、あいまいな意味を持つことがあります。例として、ProductCatalog 項目から Safety.Warning 属性を取得するとします (DynamoDB で式を使用する場合の項目属性の参照 を参照してください)。

プロジェクション式を使用して、Safety.Warning にアクセスするとします。

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"123"}}' \ --projection-expression "Safety.Warning"

DynamoDB は、予想される文字列 ("Always wear a helmet") ではなく空の結果を返します。これは、DynamoDB が式のドットをドキュメントパスの区切り文字として解釈するためです。この場合、#sw の置換として式の属性名 (Safety.Warning など) を定義する必要があります。その後、次のプロジェクション式を使用します。

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"123"}}' \ --projection-expression "#sw" \ --expression-attribute-names '{"#sw":"Safety.Warning"}'

次に、DynamoDB が正しい結果を返します。

注記

属性名にドット (「.」) またはハイフン (「-」) が含まれている場合は、式の属性名を使用して、式でその属性名を置き換える必要があります

入れ子の属性

ネストされた属性 ProductReviews.OneStar にアクセスするとします。式の属性名において、DynamoDB はドット (".") を属性名内の文字として扱います。ネストされた属性を参照するには、ドキュメントパス内の要素ごとに式の属性名を定義します。

  • #pr — ProductReviews

  • #1star — OneStar

その後、プロジェクション式として #pr.#1star を使用します。

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"123"}}' \ --projection-expression "#pr.#1star" \ --expression-attribute-names '{"#pr":"ProductReviews", "#1star":"OneStar"}'

次に、DynamoDB が正しい結果を返します。

属性名を繰り返し参照する

式の属性名は、同じ属性名を繰り返し参照する必要がある場合に役立ちます。たとえば、ProductCatalog 項目からいくつかの評価を取得する次の式を考えてみます。

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"123"}}' \ --projection-expression "ProductReviews.FiveStar, ProductReviews.ThreeStar, ProductReviews.OneStar"

これをより簡潔にするために、ProductReviews を、#pr などの式の属性名で置き換えることができます。変更された式は次のようになります。

  • #pr.FiveStar, #pr.ThreeStar, #pr.OneStar

aws dynamodb get-item \ --table-name ProductCatalog \ --key '{"Id":{"N":"123"}}' \ --projection-expression "#pr.FiveStar, #pr.ThreeStar, #pr.OneStar" \ --expression-attribute-names '{"#pr":"ProductReviews"}'

式属性名を定義した場合、式全体で一貫して使用する必要があります。さらに、# 記号を省略することはできません。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.