Arbeiten mit DynamoDB-Tabellen im .NET - 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 im .NET

Sie können AWS SDK for .NET zum Erstellen, Aktualisieren und Löschen von Tabellen, Auflisten aller Tabellen in Ihrem Konto oder Abrufen von Informationen zu einer bestimmten Tabelle verwenden.

Nachfolgend sind die allgemeinen Schritte für Amazon DynamoDB-Tabellenoperationen mit AWS SDK for .NET aufgeführt.

  1. Erstellen einer Instance der AmazonDynamoDBClient-Klasse (Client).

  2. Stellen Sie den erforderlichen und optionalen Parameter für die Operation bereit, indem Sie die entsprechenden Anforderungsobjekte erstellen.

    Erstellen Sie beispielsweise ein CreateTableRequest-Objekt, um eine Tabelle aufzubauen, und ein UpdateTableRequest-Objekt zum Aktualisieren einer vorhandenen Tabelle.

  3. Führen Sie die entsprechende Methode aus, die von dem Client bereitgestellt wird, den Sie im vorherigen Schritt erstellt haben.

Anmerkung

Die Beispiele in diesem Abschnitt funktionieren nicht mit .NET Core, da keine synchronen Methoden unterstützt werden. Weitere Informationen finden Sie unter AWS-asynchrone APIs für .NET.

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.

So erstellen Sie eine Tabelle mit der AWS SDK for .NET-Low-Level-API
  1. Erstellen Sie eine Instance der AmazonDynamoDBClient-Klasse.

  2. Erstellen Sie eine Instance der CreateTableRequest-Klasse, um die Anforderungsinformationen bereitzustellen.

    Sie müssen den Tabellennamen, den zugehörigen Primärschlüssel und die Werte des bereitgestellten Durchsatzes angeben.

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

Im folgenden C#-Codebeispiel werden die vorherigen Schritte veranschaulicht. Im Beispiel wird eine Tabelle (ProductCatalog) erstellt, die die Id als Primärschlüssel und eine Reihe von Werten des bereitgestellten Durchsatzes verwendet. Je nach Anwendungsanforderungen können Sie die Werte des bereitgestellten Durchsatzes mit der UpdateTable-API aktualisieren.

AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ProductCatalog"; var request = new CreateTableRequest { TableName = tableName, AttributeDefinitions = new List<AttributeDefinition>() { new AttributeDefinition { AttributeName = "Id", AttributeType = "N" } }, KeySchema = new List<KeySchemaElement>() { new KeySchemaElement { AttributeName = "Id", KeyType = "HASH" //Partition key } }, ProvisionedThroughput = new ProvisionedThroughput { ReadCapacityUnits = 10, WriteCapacityUnits = 5 } }; var response = client.CreateTable(request);

Sie müssen warten, bis DynamoDB die Tabelle erstellt und den Tabellenstatus auf ACTIVE gesetzt hat. Die CreateTable-Antwort enthält die Eigenschaft TableDescription, die die erforderlichen Tabelleninformationen bereitstellt.

Beispiel
var result = response.CreateTableResult; var tableDescription = result.TableDescription; Console.WriteLine("{1}: {0} \t ReadCapacityUnits: {2} \t WriteCapacityUnits: {3}", tableDescription.TableStatus, tableDescription.TableName, tableDescription.ProvisionedThroughput.ReadCapacityUnits, tableDescription.ProvisionedThroughput.WriteCapacityUnits); string status = tableDescription.TableStatus; Console.WriteLine(tableName + " - " + status);

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

Beispiel
var res = client.DescribeTable(new DescribeTableRequest{TableName = "ProductCatalog"});

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

Sie können die Durchsatzkapazität so oft wie nötig erhöhen und gemäß bestimmter Beschränkungen senken. Weitere Informationen zu Durchsatzsteigerungen und -verringerungen pro Tag finden Sie unter Service-, Konto- und Tabellenkontingente in Amazon DynamoDB.

So erstellen Sie eine Tabelle mit der AWS SDK for .NET-Low-Level-API
  1. Erstellen Sie eine Instance der AmazonDynamoDBClient-Klasse.

  2. Erstellen Sie eine Instance der UpdateTableRequest-Klasse, um die Anforderungsinformationen bereitzustellen.

    Sie müssen den Tabellennamen und die neuen Werte des bereitgestellten Durchsatzes angeben.

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

Im folgenden C#-Codebeispiel werden die vorherigen Schritte veranschaulicht.

Beispiel
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ExampleTable"; var request = new UpdateTableRequest() { TableName = tableName, ProvisionedThroughput = new ProvisionedThroughput() { // Provide new values. ReadCapacityUnits = 20, WriteCapacityUnits = 10 } }; var response = client.UpdateTable(request);

Löschen einer Tabelle

Führen Sie die folgenden Schritte aus, um eine Tabelle mithilfe der .NET Low-Level-API zu löschen.

So löschen Sie eine Tabelle mit der AWS SDK for .NET-Low-Level-API
  1. Erstellen Sie eine Instance der AmazonDynamoDBClient-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 AmazonDynamoDBClient.DeleteTable-Methode aus, indem das Anforderungsobjekt als Parameter festgelegt wird.

Im folgenden C#-Codebeispiel werden die vorherigen Schritte veranschaulicht.

Beispiel
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); string tableName = "ExampleTable"; var request = new DeleteTableRequest{ TableName = tableName }; var response = client.DeleteTable(request);

Auflisten von Tabellen

Zum Auflisten der Tabellen in Ihrem Konto mit der AWS SDK for .NET-Low-Level API erstellen Sie eine Instance des AmazonDynamoDBClient und führen die ListTables-Methode aus.

Die ListTables-Operation erfordert keine Parameter. Sie können allerdings optionale Parameter angeben. Sie können z. B. den Parameter Limit festlegen, wenn Sie die Paginierung verwenden möchten, um die Anzahl der Tabellennamen je Seite zu beschränken. Dazu müssen Sie ein ListTablesRequest-Objekt erstellen und optionale Parameter angeben, wie im folgenden C#-Codebeispiel dargestellt. Mit der Anforderung wird neben dem Seitenformat der Parameter ExclusiveStartTableName festgelegt. Anfänglich ist ExclusiveStartTableName gleich null. Nach dem Abrufen der ersten Ergebnisseite müssen Sie zum Abrufen der nächsten Ergebnisseite diesen Parameterwert auf die Eigenschaft LastEvaluatedTableName des aktuellen Ergebnisses festlegen.

Beispiel
AmazonDynamoDBClient client = new AmazonDynamoDBClient(); // Initial value for the first page of table names. string lastEvaluatedTableName = null; do { // Create a request object to specify optional parameters. var request = new ListTablesRequest { Limit = 10, // Page size. ExclusiveStartTableName = lastEvaluatedTableName }; var response = client.ListTables(request); ListTablesResult result = response.ListTablesResult; foreach (string name in result.TableNames) Console.WriteLine(name); lastEvaluatedTableName = result.LastEvaluatedTableName; } while (lastEvaluatedTableName != null);