Arbeiten mit DynamoDB-Tabellen in Java - Amazon-DynamoDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Arbeiten mit DynamoDB-Tabellen in Java

Sie können AWS SDK for Java verwenden, um Amazon-DynamoDB-Tabellen zu erstellen, zu aktualisieren und zu löschen, alle Tabellen in Ihrem Konto aufzulisten oder Informationen zu einer bestimmten Tabelle abzuholen.

Erstellen einer Tabelle

Zum Erstellen einer Tabelle müssen Sie den Tabellennamen, den zugehörigen Primärschlüssel und die Werte des bereitgestellten Durchsatzes angeben. Im folgenden Codeausschnitt wird eine Beispieltabelle erstellt, die eine numerische Attribut-ID als Primärschlüssel verwendet.

So erstellen Sie eine Tabelle mit der AWS SDK for Java-API
  1. Erstellen Sie eine Instance der DynamoDB-Klasse.

  2. Instanziieren Sie eine CreateTableRequest, um die Anforderungsinformationen bereitzustellen.

    Sie müssen den Tabellennamen, die Attributdefinitionen, das Schlüsselschema und die Werte des bereitgestellten Durchsatzes angeben.

  3. Führen Sie die createTable-Methode aus, indem das Anforderungsobjekt als Parameter festgelegt wird.

Im folgenden Codebeispiel werden die vorherigen Schritte veranschaulicht.

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

Die Tabelle kann erst verwendet werden, wenn DynamoDB die Tabelle erstellt und den Tabellenstatus auf AKTIV gesetzt hat. Die createTable-Anforderung gibt ein Table-Objekt zurück, das Sie verwenden können, um mehr Informationen über die Tabelle zu erhalten.

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

Sie können die describe-Methode des Clients aufrufen, um die Tabelleninformationen jederzeit abzurufen.

Beispiel
TableDescription tableDescription = dynamoDB.getTable(tableName).describe();

Aktualisieren einer Tabelle

Sie können nur Werte des bereitgestellten Durchsatzes einer vorhandenen Tabelle aktualisieren. Je nach Anforderung der Anwendung müssen Sie diese Werte ggf. aktualisieren.

Anmerkung

Weitere Informationen zu Durchsatzsteigerungen und -verringerungen pro Tag finden Sie unter Service-, Konto- und Tabellenkontingente in Amazon DynamoDB.

So aktualisieren Sie eine Tabelle mit der AWS SDK for Java-API
  1. Erstellen Sie eine Instance der Table-Klasse.

  2. Erstellen Sie eine Instance der ProvisionedThroughput-Klasse, um die neuen Durchsatzwerte bereitzustellen.

  3. Führen Sie die updateTable-Methode aus, indem Sie die ProvisionedThroughput-Instance als Parameter bereitstellen.

Im folgenden Codebeispiel werden die vorherigen Schritte veranschaulicht.

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

Löschen einer Tabelle

So löschen Sie eine Tabelle mit der AWS SDK for Java-API:
  1. Erstellen Sie eine Instance der Table-Klasse.

  2. Erstellen Sie eine Instance der DeleteTableRequest-Klasse und geben Sie den Namen der Tabelle an, die Sie löschen möchten.

  3. Führen Sie die deleteTable-Methode aus, indem Sie die Table-Instance als Parameter bereitstellen.

Im folgenden Codebeispiel werden die vorherigen Schritte veranschaulicht.

Beispiel
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard().build(); DynamoDB dynamoDB = new DynamoDB(client); Table table = dynamoDB.getTable("ProductCatalog"); table.delete(); table.waitForDelete();

Auflisten von Tabellen

Zum Auflisten von Tabellen in Ihrem Konto erstellen Sie eine Instance von DynamoDB und führen die listTables-Methode aus. Die ListTables-Operation erfordert keine Parameter.

Beispiel
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()); }