Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Paramètres de configuration facultatifs pour D ynamoDBMapper
Lorsque vous créez une instance de DynamoDBMapper
, elle a certains comportements par défaut ; vous pouvez remplacer ces valeurs par défaut en utilisant la classe DynamoDBMapperConfig
.
L'extrait de code suivant crée un DynamoDBMapper
avec des paramètres personnalisés :
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);
Pour plus d'informations, consultez D ynamoDBMapper Config dans la AWS SDK for Java APIréférence.
Vous pouvez utiliser les arguments suivants pour une instance de DynamoDBMapperConfig
:
-
Une valeur d'énumération
DynamoDBMapperConfig.ConsistentReads
:-
EVENTUAL
– L'instance du mappeur utilise une demande de lecture éventuellement cohérente. -
CONSISTENT
– L'instance du mappeur utilise une demande de lecture fortement cohérente. Vous pouvez utiliser ce paramètre facultatif avec des opérationsload
,query
ouscan
. Les lectures fortement cohérentes ont des implications pour les performances et la facturation. Pour plus d'informations, consultez la page détaillée du produit.
Si vous ne spécifiez pas un paramètre de cohérence de lecture pour votre instance d'outil de mappage, la valeur par défaut est
EVENTUAL
.Note
Cette valeur est appliquée dans les
batch load
opérationsquery
querypage
load
,, et du ynamoDBMapper D. -
-
Valeur d'énumération
DynamoDBMapperConfig.PaginationLoadingStrategy
– Contrôle la façon dont l'instance de mappeur traite une liste paginée de données, telle que les résultats d'une opérationquery
ouscan
:-
LAZY_LOADING
– L'instance de mappeur charge les données quand cela est possible, et conserve tous les résultats chargés en mémoire. -
EAGER_LOADING
– L'instance de mappeur charge les données dès que la liste est initialisée. -
ITERATION_ONLY
– Vous ne pouvez utiliser qu'un itérateur pour lire la liste. Pendant l'itération, la liste efface tous les résultats précédents avant de charger la page suivante, pour que la liste conserve en mémoire au maximum une page des résultats chargés. Cela signifie également que la liste ne peut être itérée qu'à une seule reprise. Cette stratégie est recommandée lors de la gestion d'éléments importants, afin de réduire les frais généraux de mémoire.
Si vous ne spécifiez pas une stratégie de chargement de pagination pour votre instance d'outil de mappage, la valeur par défaut est
LAZY_LOADING
. -
-
Une valeur d'énumération
DynamoDBMapperConfig.SaveBehavior
- Spécifie comment l'instance d'outil de mappage devrait traiter les attributs lors des opérations d'enregistrement :-
UPDATE
– Lors d'une opération d'enregistrement, tous les attributs modélisés sont mis à jour, et les attributs non modélisés ne sont pas affectés. Les types de numéros primitifs (octets, int, long) sont définis sur 0. Les types d'objets sont définis sur null. -
CLOBBER
– Efface et remplace tous les attributs, y compris non modélisés, lors d'une opération d'enregistrement. Pour cela, il faut supprimer l'élément et le recréer. Les contraintes de champ avec version sont également ignorées.
Si vous ne spécifiez pas le comportement de sauvegarde pour votre instance d'outil de mappage, la valeur par défaut est
UPDATE
.Note
Les opérations ynamoDBMapper transactionnelles D ne prennent pas en charge l'
DynamoDBMapperConfig.SaveBehavior
énumération. -
-
Objet
DynamoDBMapperConfig.TableNameOverride
– Indique à l'instance de mappeur d'ignorer le nom de table spécifié par l'annotationDynamoDBTable
d'une classe, et d'utiliser plutôt un autre nom de table que vous fournissez. Cela est utile lors du partitionnement de vos données dans plusieurs tables au moment de l'exécution.
Vous pouvez remplacer l'objet de configuration par défaut pour DynamoDBMapper
par opération, en fonction des besoins.