Verwenden von Projektionsausdrücken in DynamoDB - Amazon-DynamoDB

Verwenden von Projektionsausdrücken in DynamoDB

Um Daten aus einer Tabelle zu lesen, verwenden sie Operationen wie GetItem, Query oder Scan. Amazon DynamoDB gibt standardmäßig alle Elementattribute zurück. Verwenden Sie einen Projektionsausdruck, um nur einige und nicht alle Attribute abzurufen.

Ein Projektionsausdruck ist eine Zeichenfolge, mit der die gewünschten Attribute identifiziert werden. Zum Abrufen eines einzelnen Attributs geben Sie seinen Namen an. Für mehrere Attribute müssen die Namen durch Kommas getrennt werden.

Es folgen einige Beispiele für Projektionsausdrücke, basierend auf dem ProductCatalog-Element von Verweisen auf Elementattribute beim Verwenden von Ausdrücken in DynamoDB:

  • Ein einzelnes Attribut auf oberster Ebene:

    Title

  • Drei Attribute auf oberster Ebene. DynamoDB ruft die gesamte Color-Einstellung.

    Title, Price, Color

  • Vier Attribute auf oberster Ebene. DynamoDB gibt den gesamten Inhalt von RelatedItems und ProductReviews zurück.

    Title, Description, RelatedItems, ProductReviews

Anmerkung

Der Projektionsausdruck wirkt sich nicht auf den Verbrauch des bereitgestellten Durchsatzes aus. DynamoDB ermittelt die verbrauchten Kapazitätseinheiten basierend auf der Elementgröße, nicht anhand der Menge der Daten, die an eine Anwendung zurückgegeben werden.

Reservierte Wörter und Sonderzeichen

DynamoDB verfügt über reservierte Wörter und Sonderzeichen. DynamoDB lässt diese reservierten Wörter und Sonderzeichen für Namen zu. Dennoch empfehlen wir, diese nicht zu verwenden, da Sie Aliasse für diese Namen definieren müssen, sobald Sie sie in einem Ausdruck verwenden. Eine vollständige Liste finden Sie hier: Reservierte Wörter in DynamoDB.

In folgenden Fällen müssen Sie Ausdrucksattributnamen anstelle des eigentlichen Namens verwenden:

  • Der Attributname steht auf der Liste der reservierten Wörter von DynamoDB.

  • Der Attributname erfüllt nicht die Anforderung, dass das erste Zeichen a-z oder A-Z und das zweite Zeichen (falls vorhanden) a-Z, A-Z oder 0-9 sein muss.

  • Der Attributname enthält # (Raute) oder : (Doppelpunkt).

Das folgende AWS CLI-Beispiel zeigt, wie Sie einen Projektionsausdruck mit einer GetItem-Operation verwenden. Dieser Projektionsausdruck ruft ein skalares Attribut auf oberster Ebene (Description), das erste Element in einer Liste (RelatedItems[0]) und eine Liste, die innerhalb einer Zuordnung verschachtelt ist (ProductReviews.FiveStar), ab.

aws dynamodb get-item \ --table-name ProductCatalog \ --key '"Id": { "N": "123" } \ --projection-expression "Description, RelatedItems[0], ProductReviews.FiveStar"

In diesem Beispiel wird der folgende JSON zurückgegeben.

{ "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" } ] } } }