Verweisen auf Elementattribute bei der Verwendung von Ausdrücken in DynamoDB - Amazon-DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verweisen auf Elementattribute bei der Verwendung von Ausdrücken in DynamoDB

Dieser Abschnitt beschreibt, wie Sie sich auf die Elementattribute in einem Ausdruck in Amazon DynamoDB beziehen können. Sie können mit jedem beliebigen Attribut arbeiten, auch wenn es tief innerhalb mehrerer Listen und Zuordnungen verschachtelt ist.

Ein Beispielartikel: ProductCatalog

Die Beispiele auf dieser Seite verwenden das folgende Beispielelement in der ProductCatalog Tabelle. (Diese Tabelle wird in Beispieltabellen und -daten beschrieben.)

{ "Id": 123, "Title": "Bicycle 123", "Description": "123 description", "BicycleType": "Hybrid", "Brand": "Brand-Company C", "Price": 500, "Color": ["Red", "Black"], "ProductCategory": "Bicycle", "InStock": true, "QuantityOnHand": null, "RelatedItems": [ 341, 472, 649 ], "Pictures": { "FrontView": "http://example.com/products/123_front.jpg", "RearView": "http://example.com/products/123_rear.jpg", "SideView": "http://example.com/products/123_left_side.jpg" }, "ProductReviews": { "FiveStar": [ "Excellent! Can't recommend it highly enough! Buy it!", "Do yourself a favor and buy this." ], "OneStar": [ "Terrible product! Do not buy this." ] }, "Comment": "This product sells out quickly during the summer", "Safety.Warning": "Always wear a helmet" }

Beachten Sie Folgendes:

  • Der Partitions-Schlüsselwert (Id) ist 123. Es gibt keinen Sortierschlüssel.

  • Die meisten Attribute verfügen über skalare Datentypen, z. B. String, Number, Boolean und Null.

  • Ein Attribut (Color) ist ein String Set.

  • Die folgenden Attribute sind Dokumentdatentypen:

    • Eine Liste von RelatedItems. Jedes Element ist eine Id für ein zugehöriges Produkt.

    • Eine Zuordnung von Pictures. Jedes Element ist eine kurze Beschreibung eines Bilds zusammen mit einer URL für die entsprechende Bilddatei.

    • Eine Zuordnung von ProductReviews. Jedes Element repräsentiert eine Bewertung und eine Liste von Rezensionen dieser Bewertung. Zunächst wird diese Zuordnung mit 5-Sterne- und 1-Stern-Rezensionen gefüllt.

Attribute der obersten Stufe

Ein Attribut befindet sich auf oberster Ebene, wenn es nicht in einem anderen Attribut eingebettet ist. Für das ProductCatalog-Element lauten die Attribute auf oberster Ebene wie folgt:

  • Id

  • Title

  • Description

  • BicycleType

  • Brand

  • Price

  • Color

  • ProductCategory

  • InStock

  • QuantityOnHand

  • RelatedItems

  • Pictures

  • ProductReviews

  • Comment

  • Safety.Warning

Alle diese Attribute auf oberster Ebene sind Skalare, mit Ausnahme von Color (Liste), RelatedItems (Liste), Pictures (Zuordnung) und ProductReviews (Zuordnung).

Verschachtelte Attribute

Ein Attribut gilt als verschachtelt, wenn es in einem anderen Attribut eingebettet ist. Um auf das verschachtelte Attribut zuzugreifen, verwenden Sie die Dereferenzierungsoperatoren:

  • [n] – für Listenelemente

  • . (Punkt) – für Zuordnungselemente

Zugriff auf Listenelemente

Der Dereferenzierungsoperator für das Listenelement ist [N], wobei n die Elementnummer ist. Listenelemente sind nullbasiert, sodass [0] das erste Element in der Liste darstellt, [1] das zweite und so weiter. Hier sind einige Beispiele:

  • MyList[0]

  • AnotherList[12]

  • ThisList[5][11]

Das Element ThisList[5] ist selbst eine verschachtelte Liste. Daher bezieht sich ThisList[5][11] auf das zwölfte Element in dieser Liste.

Die Zahl innerhalb der eckigen Klammern muss eine nicht negative ganze Zahl sein. Daher sind die folgenden Ausdrücke ungültig:

  • MyList[-1]

  • MyList[0.4]

Zugriff auf Zuweisungselemente

Der Dereferenzierungsoperator für ein Zuordnungselement ist . (Punkt). Verwenden Sie einen Punkt als Trennzeichen zwischen den Elementen in einer Zuordnung:

  • MyMap.nestedField

  • MyMap.nestedField.deeplyNestedField

Dokumentpfade

In einem Ausdruck verwenden Sie einen Dokumentpfad, um DynamoDB mitzuteilen, wo ein Attribut zu finden ist. Für eine Attribut auf oberster Ebene ist der Dokumentpfad einfach der Attributname. Sie erstellen den Dokumentpfad für ein verschachteltes Attribut mithilfe des Dereferenzoperators.

Es folgen einige Beispiele für Dokumentpfade. (Beziehen Sie sich auf das Element, das in Verweisen auf Elementattribute bei der Verwendung von Ausdrücken in DynamoDB gezeigt wird.)

  • Ein skalares Attribut auf oberster Ebene.

    Description

  • Ein Listenattribut auf oberster Ebene. (Dies gibt die gesamte Liste zurück und nicht nur einige der Elemente.)

    RelatedItems

  • Das dritte Element aus der RelatedItems-Liste. (Denken Sie daran, dass Listenelemente nullbasiert sind.)

    RelatedItems[2]

  • Das Bild des Produkts in der Vorderansicht

    Pictures.FrontView

  • Alle 5-Sterne-Rezensionen

    ProductReviews.FiveStar

  • Die erste 5-Sterne-Rezension

    ProductReviews.FiveStar[0]

Anmerkung

Die maximale Tiefe eines Dokumentpfads ist 32. Aus diesem Grund kann die Anzahl der Dereferenzoperatoren in einem Pfad diesen Grenzwert nicht überschreiten.

Sie können jeden Attributnamen in einem Dokumentpfad verwenden, sofern er die folgenden Anforderungen erfüllt:

  • Der Attributname muss mit einem Rautenzeichen (#) beginnen

  • Das erste Zeichen ist a-z oder A-Z und/oder 0-9.

  • Das zweite Zeichen (falls vorhanden) ist a-z, A-Z.

Anmerkung

Wenn ein Attributname diesen Anforderungen nicht entspricht, müssen Sie einen Ausdrucksattributnamen als Platzhalter definieren.

Weitere Informationen finden Sie unter Namen von Ausdrucksattributen (Aliase) in DynamoDB.