Optionale Konfigurationseinstellungen für D ynamoDBMapper - 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.

Optionale Konfigurationseinstellungen für D ynamoDBMapper

Wenn Sie eine Instance von DynamoDBMapper erstellen, verfügt sie über bestimmte Standardverhaltensweisen. Sie können diese Standards überschreiben, indem Sie die DynamoDBMapperConfig-Klasse verwenden.

Der folgende Codeausschnitt erstellt einen DynamoDBMapper mit benutzerdefinierten Einstellungen:

AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDBMapperConfig mapperConfig = DynamoDBMapperConfig.builder() .withSaveBehavior(DynamoDBMapperConfig.SaveBehavior.CLOBBER) .withConsistentReads(DynamoDBMapperConfig.ConsistentReads.CONSISTENT) .withTableNameOverride(null) .withPaginationLoadingStrategy(DynamoDBMapperConfig.PaginationLoadingStrategy.EAGER_LOADING) .build(); DynamoDBMapper mapper = new DynamoDBMapper(client, mapperConfig);

Weitere Informationen finden Sie unter D ynamoDBMapper Config in der AWS SDK for Java APIReferenz.

Sie können folgende Argumente für die Instance von DynamoDBMapperConfig verwenden:

  • Einen DynamoDBMapperConfig.ConsistentReads-Aufzählungswert:

    • EVENTUAL – die Mapper-Instance verwendet eine Eventually Consistent-Anforderung.

    • CONSISTENT – die Mapper-Instance verwendet eine Strongly-Consistent-Leseanforderung. Sie können diese optionale Einstellung mit der load-, query- oder scan-Operation verwenden. Strongly-Consistent-Lesevorgänge haben Auswirkungen auf Leistung und Fakturierung. Weitere Informationen finden Sie auf der DynamoDB-Produktdetailseite.

    Wenn Sie keine Lesekonsistenzeinstellung für die Mapper-Instance festgelegt haben, ist der Standard EVENTUAL.

    Anmerkung

    Dieser Wert wird in den batch load Operationen queryquerypage,load, und des D angewendetynamoDBMapper.

  • Ein DynamoDBMapperConfig.PaginationLoadingStrategy-Aufzählungswert – kontrolliert wie die Mapper-Instance eine paginierte Datenliste, z. B. ein query- oder scan-Ergebnis, verarbeitet:

    • LAZY_LOADING – Die Mapper-Instance lädt wenn möglich Daten und belässt alle geladenen Ergebnisse im Speicher.

    • EAGER_LOADING – die Mapper-Instance lädt die Daten, sobald die Liste initialisiert wird.

    • ITERATION_ONLY – Sie können nur einen Iterator nutzen, um aus der Liste zu lesen. Während der Iteration wird die Liste alle vorherigen Ergebnisse löschen, bevor die nächste Seite geladen wird, sodass die Liste höchstens eine Seite der geladenen Ergebnisse im Speicher hält. Dies bedeutet auch, dass die Liste nur einmal iteriert werden kann. Diese Strategie wird bei der Bearbeitung von großen Elementen empfohlen, um den Speichermehraufwand zu reduzieren.

    Wenn Sie keine Paginierungsladestrategie für die Mapper-Instance angeben, ist der Standard LAZY_LOADING.

  • Ein DynamoDBMapperConfig.SaveBehavior-Aufzählungswert – gibt an wie die Mapper-Instance während Speichervorgängen mit den Attributen umgehen sollte:

    • UPDATE – während eines Speichervorgangs werden alle modellierten Attribute aktualisiert, nicht modellierte Attribute bleiben davon unberührt. Primitive Zahlentypen (Byte, int, long) werden auf 0 gesetzt. Objekttypen werden auf Null gesetzt.

    • CLOBBER – löscht und ersetzt alle Attribute während eines Speichervorgangs, nicht modellierte Attribute eingeschlossen. Dies erfolgt durch das Löschen des Elements und seiner Neuerstellung. Versionierte Feldeinschränkungen werden ebenfalls ignoriert.

    Wenn Sie die Speicherverhaltensweise der Mapper-Instance nicht festlegen, ist der Standard UPDATE.

    Anmerkung

    ynamoDBMapper D-Transaktionsoperationen unterstützen DynamoDBMapperConfig.SaveBehavior keine Aufzählung.

  • Ein DynamoDBMapperConfig.TableNameOverride-Objekt – weist die Mapper-Instance an, den Tabellennamen, der durch die DynamoDBTable-Anmerkung einer Klasse festgelegt wurde, zu ignorieren und stattdessen einen anderen Tabellennamen zu verwenden, den Sie festlegen. Dies ist beim Partitionieren der Daten in mehrere Tabellen zur Laufzeit nützlich.

Sie können das Standardkonfigurationsobjekt für DynamoDBMapper pro Operation falls nötig überschreiben.