Verwenden Sie erweiterte Mapping-Funktionen - AWS SDK for Java 2.x

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.

Verwenden Sie erweiterte Mapping-Funktionen

Erfahren Sie mehr über erweiterte Tabellenschemafunktionen in der DynamoDB Enhanced Client API.

Machen Sie sich mit Tabellenschematypen vertraut

TableSchemaist die Schnittstelle zur Mapping-Funktionalität der DynamoDB Enhanced Client API. Sie kann ein Datenobjekt einer Map von und zu einer Map von zuordnen. AttributeValues Ein TableSchema Objekt muss die Struktur der Tabelle kennen, die es abbildet. Diese Strukturinformationen werden in einem TableMetadataObjekt gespeichert.

Die erweiterte Client-API hat mehrere Implementierungen vonTableSchema, die im Folgenden aufgeführt sind.

Aus kommentierten Klassen generiertes Tabellenschema

Das Erstellen eines TableSchema aus annotierten Klassen ist ein relativ teurer Vorgang. Wir empfehlen daher, dies einmal beim Start der Anwendung zu tun.

BeanTableSchema

Diese Implementierung basiert auf Attributen und Anmerkungen einer Bean-Klasse. Ein Beispiel für diesen Ansatz wird im Abschnitt Erste Schritte demonstriert.

Anmerkung

Wenn BeanTableSchema sich a nicht wie erwartet verhält, aktivieren Sie die Debug-Protokollierung für. software.amazon.awssdk.enhanced.dynamodb.beans

ImmutableTableSchema

Diese Implementierung basiert auf einer unveränderlichen Datenklasse. Dieser Ansatz wird im Arbeiten Sie mit unveränderlichen Datenklassen Abschnitt beschrieben.

Mit einem Builder generiertes Tabellenschema

Die folgenden TableSchema s werden mithilfe eines Builders aus Code erstellt. Dieser Ansatz ist kostengünstiger als der Ansatz, bei dem annotierte Datenklassen verwendet werden. Der Builder-Ansatz vermeidet die Verwendung von Anmerkungen und erfordert keine JavaBean Benennungsstandards.

StaticTableSchema

Diese Implementierung wurde für veränderbare Datenklassen entwickelt. Im Abschnitt „Erste Schritte“ dieses Handbuchs wurde gezeigt, wie Sie StaticTableSchemamithilfe eines Builders eine generieren.

StaticImmutableTableSchema

Ähnlich wie beim Erstellen eines generieren Sie eine Implementierung dieses TypsStaticTableSchema, indem Sie einen Builder für die TableSchema Verwendung mit unveränderlichen Datenklassen verwenden.

Tabellenschema für Daten ohne festes Schema

DocumentTableSchema

Im Gegensatz zu anderen Implementierungen von TableSchema definieren Sie keine Attribute für eine DocumentTableSchema Instanz. Normalerweise geben Sie nur Primärschlüssel und Anbieter von Attributkonvertern an. Eine EnhancedDocument Instanz stellt die Attribute bereit, die Sie aus einzelnen Elementen oder aus einer JSON-Zeichenfolge erstellen.