Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Erstellen Sie bei Bedarf eine DynamoDB-Tabelle - AWS SDK for Java 2.x

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.

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.

Erstellen Sie bei Bedarf eine DynamoDB-Tabelle

Nachdem Sie eine DynamoDbTable Instanz erstellt haben, verwenden Sie sie, um eine einmalige Erstellung einer Tabelle in DynamoDB durchzuführen.

Beispielcode für Tabelle erstellen

Im folgenden Beispiel wird eine DynamoDB-Tabelle erstellt, die auf der Customer Datenklasse basiert.

In diesem Beispiel wird eine DynamoDB-Tabelle mit dem Namen erstellt, der mit dem Klassennamen Customer identisch ist, aber der Tabellenname kann auch ein anderer sein. Wie auch immer Sie die Tabelle benennen, Sie müssen diesen Namen in weiteren Anwendungen verwenden, um mit der Tabelle arbeiten zu können. Geben Sie der table() Methode diesen Namen jedes Mal, wenn Sie ein anderes DynamoDbTable Objekt erstellen, um mit der zugrunde liegenden DynamoDB-Tabelle zu arbeiten.

Mit dem an die createTable Methode übergebenen Java-Lambda-Parameter können Sie die Tabelle anpassen. builder In diesem Beispiel wird der bereitgestellte Durchsatz konfiguriert. Wenn Sie beim Erstellen einer Tabelle die Standardeinstellungen verwenden möchten, überspringen Sie den Builder, wie im folgenden Codeausschnitt gezeigt.

customerTable.createTable();

Wenn Standardeinstellungen verwendet werden, werden keine Werte für den bereitgestellten Durchsatz festgelegt. Stattdessen ist der Abrechnungsmodus für die Tabelle auf „On-Demand“ eingestellt.

In dem Beispiel wird auch ein verwendet, DynamoDbWaiter bevor versucht wird, den in der Antwort erhaltenen Tabellennamen auszudrucken. Die Erstellung einer Tabelle nimmt einige Zeit in Anspruch. Wenn Sie also einen Kellner verwenden, müssen Sie keine Logik schreiben, die den DynamoDB-Dienst abfragt, um festzustellen, ob die Tabelle existiert, bevor Sie die Tabelle verwenden.

import com.example.dynamodb.Customer; import software.amazon.awssdk.core.internal.waiters.ResponseOrException; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; import software.amazon.awssdk.enhanced.dynamodb.TableSchema; import software.amazon.awssdk.services.dynamodb.model.DescribeTableResponse; import software.amazon.awssdk.services.dynamodb.waiters.DynamoDbWaiter;
import com.example.dynamodb.Customer; import software.amazon.awssdk.core.internal.waiters.ResponseOrException; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbEnhancedClient; import software.amazon.awssdk.enhanced.dynamodb.DynamoDbTable; import software.amazon.awssdk.enhanced.dynamodb.TableSchema; import software.amazon.awssdk.services.dynamodb.model.DescribeTableResponse; import software.amazon.awssdk.services.dynamodb.waiters.DynamoDbWaiter;

Code

public static void createCustomerTable(DynamoDbTable<Customer> customerTable, DynamoDbClient standardClient) { // Create the DynamoDB table using the 'customerTable' DynamoDbTable instance. customerTable.createTable(builder -> builder .provisionedThroughput(b -> b .readCapacityUnits(10L) .writeCapacityUnits(10L) .build()) ); // The DynamoDbClient instance (named 'standardClient') passed to the builder for the DynamoDbWaiter is the same instance // that was passed to the builder of the DynamoDbEnhancedClient instance that we created previously. // By using the same instance, it ensures that the same Region that was configured on the standard DynamoDbClient // instance is used for other service clients that accept a DynamoDbClient during construction. try (DynamoDbWaiter waiter = DynamoDbWaiter.builder().client(standardClient).build()) { // DynamoDbWaiter is Autocloseable ResponseOrException<DescribeTableResponse> response = waiter .waitUntilTableExists(builder -> builder.tableName("Customer").build()) .matched(); DescribeTableResponse tableDescription = response.response().orElseThrow( () -> new RuntimeException("Customer table was not created.")); // The actual error can be inspected in response.exception() logger.info("Customer table was created."); } }
Anmerkung

Die Attributnamen einer DynamoDB-Tabelle beginnen mit einem Kleinbuchstaben, wenn die Tabelle aus einer Datenklasse generiert wird. Wenn der Attributname der Tabelle mit einem Großbuchstaben beginnen soll, verwenden Sie die @DynamoDbAttribute(NAME) Anmerkung und geben Sie den gewünschten Namen als Parameter an.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2024, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.