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
RelatedItemsundProductReviewszurü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-zoderA-Zund das zweite Zeichen (falls vorhanden)a-Z,A-Zoder0-9sein 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" } ] } } }