JSONsupporto in Amazon DynamoDB - AWS SDK for .NET

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

JSONsupporto in Amazon DynamoDB

Nota

Le informazioni contenute in questo argomento sono specifiche per i progetti basati su. NETFramework e la AWS SDK for .NET versione 3.3 e precedenti.

AWS SDK for .NET Supporta i JSON dati quando si lavora con Amazon DynamoDB. Ciò consente di ottenere più facilmente dati JSON formattati dalle tabelle DynamoDB e di inserire JSON documenti nelle tabelle DynamoDB.

Ottieni dati da una tabella DynamoDB in formato JSON

L'esempio seguente mostra come ottenere dati da una tabella DynamoDB in formato: JSON

// 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 // }

Nell'esempio precedente, il ToJson metodo della Document classe converte un elemento dalla tabella in una stringa formattata. JSON L'elemento viene recuperato con il metodo GetItem della classe Table. Per determinare l'elemento da ottenere, in questo esempio, il GetItem metodo utilizza la chiave hash-and-range primaria dell'elemento di destinazione. Per determinare la tabella da cui ottenere l'elemento, il LoadTable metodo della Table classe utilizza un'istanza della AmazonDynamoDBClient classe e il nome della tabella di destinazione in DynamoDB.

Inserimento di dati di JSON formato in una tabella DynamoDB

L'esempio seguente mostra come utilizzare il JSON formato per inserire un elemento in una tabella DynamoDB:

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

Nell'esempio precedente, il FromJson metodo della Document classe converte una stringa in JSON formato -in un elemento. L'elemento viene inserito nella tabella con il metodo PutItem della classe Table, che utilizza l'istanza della classe Document che contiene l'elemento. Per determinare la tabella in cui inserire l'elemento, viene chiamato il LoadTable metodo della Table classe, specificando un'istanza della AmazonDynamoDBClient classe e il nome della tabella di destinazione in DynamoDB.

Conversioni di tipi di dati DynamoDB in JSON

Ogni volta che si chiama il ToJson metodo della Document classe e quindi sui JSON dati risultanti si richiama il FromJson metodo per riconvertire i JSON dati in un'istanza di una Document classe, alcuni tipi di dati DynamoDB non verranno convertiti come previsto. Nello specifico:

  • I set DynamoDB (SSi tipiNS, BS e) verranno convertiti in array. JSON

  • Gli scalari e i set binari di DynamoDB (Bi tipi BS e) verranno convertiti in stringhe o elenchi di stringhe con JSON codifica Base64.

    In questo scenario, è necessario chiamare il DecodeBase64Attributes metodo della Document classe per sostituire i dati codificati in base64 con la rappresentazione binaria corretta. JSON L'esempio seguente sostituisce un attributo dell'elemento scalare binario con codifica base64 in un'istanza di una classe Document, denominato Picture, con la corretta rappresentazione binaria. In questo esempio viene eseguita la stessa operazione per un attributo dell'elemento di un set binario con codifica base64 nella stessa istanza della classe Document, denominato RelatedPictures:

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

Ulteriori informazioni

Per ulteriori informazioni ed esempi di programmazione JSON con DynamoDB con AWS SDK for .NET, vedere: