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à.
Utilizzo di tabelle DynamoDB in Java
È possibile utilizzare AWS SDK for Java per creare, aggiornare ed eliminare tabelle Amazon DynamoDB, elencare tutte le tabelle nell'account o ottenere informazioni su una tabella specifica.
Argomenti
Creazione di una tabella
Per creare una tabella, è necessario fornire il nome della tabella, la sua chiave primaria e i valori del throughput assegnato. Il seguente frammento di codice crea una tabella di esempio che utilizza un ID attributo di tipo numero come chiave primaria.
Per creare una tabella utilizzando l'API AWS SDK for Java
-
Creare un'istanza della classe
DynamoDB
. -
Crea l'istanza di una
CreateTableRequest
per fornire le informazioni sulla richiesta.Devi fornire il nome della tabella, le definizioni degli attributi, lo schema delle chiavi e i valori del throughput assegnato.
-
Eseguire il metodo
createTable
fornendo l'oggetto della richiesta come parametro.
Il seguente esempio di codice mostra le fasi precedenti.
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); List<AttributeDefinition> attributeDefinitions= new ArrayList<AttributeDefinition>(); attributeDefinitions.add(new AttributeDefinition().withAttributeName("Id").withAttributeType("N")); List<KeySchemaElement> keySchema = new ArrayList<KeySchemaElement>(); keySchema.add(new KeySchemaElement().withAttributeName("Id").withKeyType(KeyType.HASH)); CreateTableRequest request = new CreateTableRequest() .withTableName(tableName) .withKeySchema(keySchema) .withAttributeDefinitions(attributeDefinitions) .withProvisionedThroughput(new ProvisionedThroughput() .withReadCapacityUnits(5L) .withWriteCapacityUnits(6L)); Table table = dynamoDB.createTable(request); table.waitForActive();
La tabella non è pronta per l'uso fino a quando DynamoDB la crea e ne imposta lo stato su ACTIVE. La richiesta createTable
restituisce un oggetto Table
che è possibile utilizzare per ottenere ulteriori informazioni sulla tabella.
Esempio
TableDescription tableDescription = dynamoDB.getTable(tableName).describe(); System.out.printf("%s: %s \t ReadCapacityUnits: %d \t WriteCapacityUnits: %d", tableDescription.getTableStatus(), tableDescription.getTableName(), tableDescription.getProvisionedThroughput().getReadCapacityUnits(), tableDescription.getProvisionedThroughput().getWriteCapacityUnits());
Puoi chiamare il metodo describe
del client per ottenere informazioni sulla tabella in qualsiasi momento.
Esempio
TableDescription tableDescription = dynamoDB.getTable(tableName).describe();
Aggiornamento di una tabella
Puoi aggiornare solo i valori del throughput assegnato di una tabella esistente. A seconda dei requisiti dell'applicazione, potrebbe essere necessario aggiornare questi valori.
Nota
Per ulteriori informazioni sugli aumenti e le diminuzioni di throughput al giorno, consulta Quote di servizio, account e tabelle in Amazon DynamoDB.
Per aggiornare una tabella utilizzando l'API AWS SDK for Java
-
Creare un'istanza della classe
Table
. -
Crea un'istanza della classe
ProvisionedThroughput
per fornire i nuovi valori del throughput. -
Eseguire il metodo
updateTable
fornendo l'istanzaProvisionedThroughput
come parametro.
Il seguente esempio di codice mostra le fasi precedenti.
Esempio
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); Table table = dynamoDB.getTable("ProductCatalog"); ProvisionedThroughput provisionedThroughput = new ProvisionedThroughput() .withReadCapacityUnits(15L) .withWriteCapacityUnits(12L); table.updateTable(provisionedThroughput); table.waitForActive();
Eliminazione di una tabella
Per eliminare una tabella utilizzando l'API AWS SDK for Java
-
Creare un'istanza della classe
Table
. -
Crea un'istanza della classe
DeleteTableRequest
e fornisci il nome della tabella che vuoi eliminare. -
Eseguire il metodo
deleteTable
fornendo l'istanzaTable
come parametro.
Il seguente esempio di codice mostra le fasi precedenti.
Esempio
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); Table table = dynamoDB.getTable("ProductCatalog"); table.delete(); table.waitForDelete();
Elenco delle tabelle
Per visualizzare le tabelle nell'account, creare un'istanza di DynamoDB
ed eseguire il metodo listTables
. L'operazione ListTables non richiede parametri.
Esempio
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); TableCollection<ListTablesResult> tables = dynamoDB.listTables(); Iterator<Table> iterator = tables.iterator(); while (iterator.hasNext()) { Table table = iterator.next(); System.out.println(table.getTableName()); }