Impostazioni di configurazione opzionali per D ynamoDBMapper - Amazon DynamoDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Impostazioni di configurazione opzionali per D ynamoDBMapper

Quando crei un'istanza di DynamoDBMapper, esso contiene determinati comportamenti predefiniti; puoi sovrascrivere tali impostazioni predefinite tramite la classe DynamoDBMapperConfig.

Nel seguente frammento di codice viene creato un DynamoDBMapper con impostazioni personalizzate:

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);

Per ulteriori informazioni, vedere D ynamoDBMapper Config nel AWS SDK for Java API riferimento.

Puoi utilizzare i seguenti argomenti per un'istanza di DynamoDBMapperConfig:

  • Un valore di enumerazione DynamoDBMapperConfig.ConsistentReads:

    • EVENTUAL: l'istanza del mappatore utilizza una richiesta di lettura a consistenza finale.

    • CONSISTENT: l'istanza del mappatore utilizza una richiesta di lettura fortemente consistente. Puoi utilizzare questa impostazione opzionale con le operazioni load, query o scan. Le letture fortemente consistenti hanno implicazioni per le prestazioni e la fatturazione; consulta la pagina dei dettagli del prodotto di DynamoDB per ulteriori informazioni.

    Se non specifichi un'impostazione di consistenza di lettura per l'istanza di mappatore, il valore predefinito sarà EVENTUAL.

    Nota

    Questo valore viene applicato nelle batch load operazioni query querypageload,, e di D. ynamoDBMapper

  • Un valore di enumerazione DynamoDBMapperConfig.PaginationLoadingStrategy: controlla il modo in cui l'istanza del mappatore elabora un elenco impaginato di dati, ad esempio i risultati di una query o una scan:

    • LAZY_LOADING: l'istanza del mappatore carica i dati quando possibile e mantiene tutti i risultati caricati in memoria.

    • EAGER_LOADING: l'istanza del mappatore carica i dati non appena l'elenco viene inizializzato.

    • ITERATION_ONLY: è possibile utilizzare soltantoo un Iterator per leggere dall'elenco. Durante l'iterazione, l'elenco cancella tutti i risultati precedenti prima di caricare la pagina successiva, in modo che memorizzi al massimo una pagina di risultati caricati. Ciò significa, inoltre, che l'elenco può essere iterato una sola volta. Si consiglia di utilizzare questa strategia quando si gestiscono item di grandi dimensioni, al fine di ridurre il sovraccarico della memoria.

    Se non specifichi una strategia di caricamento della paginazione per l'istanza di mappatore, il valore predefinito sarà LAZY_LOADING.

  • Un valore di enumerazione DynamoDBMapperConfig.SaveBehavior. Specifica il modo in cui l'istanza di mappatore deve gestire gli attributi durante le operazioni di salvataggio.

    • UPDATE: durante un'operazione di salvataggio, tutti gli attributi modellati vengono aggiornati e gli attributi non modellati non vengono influenzati. Tipi di numeri primitivi (byte, int, long) sono impostati su 0. I tipi di oggetto sono impostati su null.

    • CLOBBER: cancella e sostituisce tutti gli attributi, inclusi quelli non modellati, durante un'operazione di salvataggio. Questa operazione viene eseguita eliminando la voce e creandola nuovamente. Vengono ignorate anche le limitazioni dei campi con versione.

    Se non specifichi il comportamento di salvataggio per l'istanza di mappatore, il valore predefinito sarà UPDATE.

    Nota

    Le operazioni ynamoDBMapper transazionali D non supportano DynamoDBMapperConfig.SaveBehavior l'enumerazione.

  • Un oggetto DynamoDBMapperConfig.TableNameOverride: indica all'istanza del mappatore di ignorare il nome della tabella specificato dall'annotazione DynamoDBTable della classe e utilizza invece un nome di tabella diverso fornito dall'utente. Ciò può essere utile quando esegui il partizionamento dei dati in più tabelle in fase di runtime.

Puoi sovrascrivere l'oggetto della configurazione predefinita per DynamoDBMapper in ogni operazione, a seconda delle necessità.