Paramètres de configuration facultatifs pour D ynamoDBMapper - Amazon DynamoDB

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érations load, query ou scan. 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érations query querypageload,, 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ération query ou scan :

    • 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'annotation DynamoDBTable 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.