Supporto JSON 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à.

Supporto JSON in Amazon DynamoDB

Nota

Le informazioni contenute in questo argomento si riferiscono specificamente ai progetti basati su.NET Framework e alla AWS SDK for .NET versione 3.3 e precedenti.

AWS SDK for .NET Supporta i dati JSON quando si lavora con Amazon DynamoDB. Ciò consente di ottenere più facilmente dati in formato JSON e di inserire documenti JSON 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 metodo ToJson della classe Document converte un elemento della tabella in una stringa in formato 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 in formato JSON in una tabella DynamoDB

L'esempio seguente mostra come utilizzare il formato JSON 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 metodo FromJson della classe Document converte una stringa in formato JSON 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 dei tipi di dati DynamoDB in JSON

Ogni volta che si chiama il ToJson metodo della Document classe e quindi sui dati JSON risultanti si chiama il FromJson metodo per riconvertire i dati JSON 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 and) verranno convertiti in stringhe o elenchi di stringhe JSON con codifica Base64.

    In questo scenario, devi chiamare il metodo DecodeBase64Attributes della classe Document per sostituire i dati JSON con codifica base64 con la corretta rappresentazione binaria. 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, vedi: AWS SDK for .NET