Crea un client avanzato e DynamoDbTable - AWS SDK for Java 2.x

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à.

Crea un client avanzato e DynamoDbTable

Crea un client avanzato

La DynamoDbEnhancedClientclasse, o la sua controparte asincrona DynamoDbEnhancedAsyncClient, è il punto di partenza per lavorare con il DynamoDB Enhanced Client. API

Il client avanzato richiede uno standard per eseguire il lavoro. DynamoDbClient APIOffre due modi per creare un'DynamoDbEnhancedClientistanza. La prima opzione, mostrata nel frammento seguente, crea uno standard DynamoDbClient con le impostazioni predefinite prelevate dalle impostazioni di configurazione.

DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.create();

Se desideri configurare il client standard sottostante, puoi fornirlo al metodo builder del client avanzato, come mostrato nel seguente frammento.

// Configure an instance of the standard DynamoDbClient. DynamoDbClient standardClient = DynamoDbClient.builder() .region(Region.US_EAST_1) .credentialsProvider(ProfileCredentialsProvider.create()) .build(); // Use the configured standard client with the enhanced client. DynamoDbEnhancedClient enhancedClient = DynamoDbEnhancedClient.builder() .dynamoDbClient(standardClient) .build();

Creazione di un'Istanza DynamoDbTable

Pensate a DynamoDbTablecome alla rappresentazione lato client di una tabella DynamoDB che utilizza la funzionalità di mappatura fornita da a. TableSchema La DynamoDbTable classe fornisce metodi per CRUD operazioni che consentono di interagire con una singola tabella DynamoDB.

DynamoDbTable<T>è una classe generica che accetta un argomento di tipo singolo, sia che si tratti di una classe personalizzata o di un argomento EnhancedDocument quando si lavora con elementi di tipo documento. Questo tipo di argomento stabilisce la relazione tra la classe utilizzata e la singola tabella DynamoDB.

Utilizzate il metodo table() factory di DynamoDbEnhancedClient per creare un'DynamoDbTableistanza, come mostrato nel frammento seguente.

static final DynamoDbTable<Customer> customerTable = enhancedClient.table("Customer", TableSchema.fromBean(Customer.class));

DynamoDbTablele istanze sono candidate per essere utilizzate singleton perché sono immutabili e possono essere utilizzate in tutta l'applicazione.

Il codice ora ha una rappresentazione in memoria di una tabella DynamoDB che può funzionare con le istanze. Customer La tabella DynamoDB effettiva potrebbe esistere o meno. Se la tabella denominata esiste Customer già, puoi iniziare a eseguire CRUD operazioni su di essa. Se non esiste, utilizzate l'DynamoDbTableistanza per creare la tabella come illustrato nella sezione successiva.