JSONUnterstützung in Amazon DynamoDB - AWS SDK for .NET

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.

JSONUnterstützung in Amazon DynamoDB

Anmerkung

Die Informationen in diesem Thema beziehen sich speziell auf Projekte, die auf basieren. NETFramework und die AWS SDK for .NET Version 3.3 und früher.

Das AWS SDK for .NET unterstützt JSON Daten bei der Arbeit mit Amazon DynamoDB. Auf diese Weise können Sie einfacher JSON -formatierte Daten aus DynamoDB-Tabellen abrufen und JSON Dokumente in DynamoDB-Tabellen einfügen.

Daten aus einer DynamoDB-Tabelle im Format abrufen JSON

Das folgende Beispiel zeigt, wie Daten aus einer DynamoDB-Tabelle im JSON Format abgerufen werden:

// using Amazon.DynamoDBv2; // using Amazon.DynamoDBv2.DocumentModel; var client = new AmazonDynamoDBClient(); var table = Table.LoadTable(client, "AnimalsInventory"); var item = table.GetItem(3, "Horse"); var jsonText = item.ToJson(); Console.Write(jsonText); // Output: // {"Name":"Shadow","Type":"Horse","Id":3} var jsonPrettyText = item.ToJsonPretty(); Console.WriteLine(jsonPrettyText); // Output: // { // "Name" : "Shadow", // "Type" : "Horse", // "Id" : 3 // }

Im vorherigen Beispiel konvertiert die ToJson Methode der Document Klasse ein Element aus der Tabelle in eine Zeichenfolge im JSON -Format. Das Element wird durch die GetItem-Methode der Table-Klasse abgerufen. Um das abzurufende Element zu bestimmen, verwendet die GetItem Methode in diesem Beispiel den hash-and-range Primärschlüssel des Zielelements. Um die Tabelle zu ermitteln, aus der das Element abgerufen werden soll, verwendet die LoadTable Methode der Table Klasse eine Instanz der AmazonDynamoDBClient Klasse und den Namen der Zieltabelle in DynamoDB.

Einfügen von JSON Formatdaten in eine DynamoDB-Tabelle

Das folgende Beispiel zeigt, wie das JSON Format verwendet wird, um ein Element in eine DynamoDB-Tabelle einzufügen:

// using Amazon.DynamoDBv2; // using Amazon.DynamoDBv2.DocumentModel; var client = new AmazonDynamoDBClient(); var table = Table.LoadTable(client, "AnimalsInventory"); var jsonText = "{\"Id\":6,\"Type\":\"Bird\",\"Name\":\"Tweety\"}"; var item = Document.FromJson(jsonText); table.PutItem(item);

Im vorherigen Beispiel konvertiert die FromJson Methode der Document Klasse eine Zeichenfolge im JSON -Format in ein Element. Das Einfügen des Elements in die Tabelle erfolgt mithilfe der PutItem-Methode der Table-Klasse, die eine Instance der Document-Klasse verwendet, die das Element enthält. Um die Tabelle zu bestimmen, in die das Element eingefügt werden soll, wird die LoadTable Methode der Table Klasse aufgerufen, wobei eine Instanz der AmazonDynamoDBClient Klasse und der Name der Zieltabelle in DynamoDB angegeben werden.

DynamoDB-Datentypkonvertierungen in JSON

Immer wenn Sie die ToJson Methode der Document Klasse aufrufen und dann für die resultierenden JSON Daten die FromJson Methode aufrufen, um die JSON Daten wieder in eine Instanz einer Document Klasse zu konvertieren, werden einige DynamoDB-Datentypen nicht wie erwartet konvertiert. Das heißt:

  • DynamoDB-Sets (die BS Typen SSNS, und) werden in Arrays konvertiertJSON.

  • DynamoDB-Binärskalare und -mengen (die BS Typen B und) werden in Base64-kodierte JSON Zeichenketten oder Zeichenkettenlisten konvertiert.

    In diesem Szenario müssen Sie die DecodeBase64Attributes Methode der Document Klasse aufrufen, um die JSON Base64-kodierten Daten durch die richtige binäre Darstellung zu ersetzen. Im folgenden Beispiel wird ein base64-verschlüsseltes binärskalares Elementattribut in eine Instance einer Document-Klasse namens Picture durch die korrekte binäre Darstellung ersetzt. In diesem Beispiel wird dasselbe auch für ein base64-verschlüsseltes Binärsatzelementattribut in derselben Instance der Document-Klasse namens RelatedPictures ausgeführt:

    item.DecodeBase64Attributes("Picture", "RelatedPictures");

Weitere Infos

Weitere Informationen und Beispiele für die Programmierung JSON mit DynamoDB mit dem finden Sie unter AWS SDK for .NET: