Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
JSONsupport dans Amazon DynamoDB
Note
Les informations contenues dans cette rubrique sont spécifiques aux projets basés sur. NETFramework et AWS SDK for .NET versions 3.3 et antérieures.
Les JSON données de AWS SDK for .NET support lorsque vous travaillez avec Amazon DynamoDB. Cela vous permet d'obtenir plus facilement des données JSON mises en forme à partir de tables DynamoDB et d'y insérer JSON des documents.
Rubriques
Obtenir les données d'une table DynamoDB au format JSON
L'exemple suivant montre comment obtenir des données au format d'une table DynamoDB : 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 // }
Dans l'exemple précédent, la ToJson
méthode de la Document
classe convertit un élément du tableau en une chaîne JSON formatée. La méthode GetItem
de la classe Table
permet de récupérer cet élément. Pour déterminer l'élément à obtenir, dans cet exemple, la GetItem
méthode utilise la clé hash-and-range primaire de l'élément cible. Pour déterminer la table à partir de laquelle obtenir l'élément, la LoadTable
méthode de la Table
classe utilise une instance de la AmazonDynamoDBClient
classe et le nom de la table cible dans DynamoDB.
Insérer des données de JSON format dans une table DynamoDB
L'exemple suivant montre comment utiliser le JSON format pour insérer un élément dans une table 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);
Dans l'exemple précédent, la FromJson
méthode de la Document
classe convertit une chaîne JSON formatée en élément. L'élément est inséré dans la table par l'intermédiaire de la méthode PutItem
de la classe Table
, qui utilise l'instance de la classe Document
contenant l'élément. Pour déterminer la table dans laquelle insérer l'élément, la LoadTable
méthode de la Table
classe est appelée, en spécifiant une instance de la AmazonDynamoDBClient
classe et le nom de la table cible dans DynamoDB.
Conversions des types de données DynamoDB vers JSON
Chaque fois que vous appelez la ToJson
méthode de la Document
classe, puis que, sur les JSON données obtenues, vous appelez la FromJson
méthode pour reconvertir les JSON données en instance de Document
classe, certains types de données DynamoDB ne sont pas convertis comme prévu. En particulier :
-
Les ensembles DynamoDB (
SS
les typesNS
,BS
et) seront convertis en tableaux. JSON -
Les scalaires et ensembles binaires DynamoDB (
B
les typesBS
et) seront convertis en chaînes codées en JSON base64 ou en listes de chaînes.Dans ce scénario, vous devez appeler la
DecodeBase64Attributes
méthode de laDocument
classe pour remplacer les JSON données codées en base64 par la représentation binaire correcte. L'exemple suivant remplace par la représentation binaire correcte un attribut d'élément binary scalar codé en base64 dans une instance d'une classeDocument
nomméePicture
. Cet exemple procède de même pour un attribut d'élément binary set codé en base64 dans la même instance de la classeDocument
nomméeRelatedPictures
:item.DecodeBase64Attributes("Picture", "RelatedPictures");
Plus d'informations
Pour plus d'informations et des exemples de programmation JSON avec DynamoDB avec AWS SDK for .NET le, voir :