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.
Themen
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
TypenSS
NS
, und) werden in Arrays konvertiertJSON. -
DynamoDB-Binärskalare und -mengen (die
BS
TypenB
und) werden in Base64-kodierte JSON Zeichenketten oder Zeichenkettenlisten konvertiert.In diesem Szenario müssen Sie die
DecodeBase64Attributes
Methode derDocument
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 einerDocument
-Klasse namensPicture
durch die korrekte binäre Darstellung ersetzt. In diesem Beispiel wird dasselbe auch für ein base64-verschlüsseltes Binärsatzelementattribut in derselben Instance derDocument
-Klasse namensRelatedPictures
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: