Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
JSONsoporte en Amazon DynamoDB
nota
La información de este tema es específica de los proyectos basados en. NETFramework y la AWS SDK for .NET versión 3.3 y anteriores.
AWS SDK for .NET Admite JSON datos cuando se trabaja con Amazon DynamoDB. Esto le permite obtener más fácilmente datos con JSON formato de tablas de DynamoDB e insertar JSON documentos en ellas.
Temas
Obtener datos de una tabla de DynamoDB en formato JSON
El siguiente ejemplo muestra cómo obtener datos de una tabla de DynamoDB en 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 // }
En el ejemplo anterior, el ToJson
método de la Document
clase convierte un elemento de la tabla en una JSON cadena con formato. El elemento se recupera a través del método GetItem
de la clase Table
. Para determinar el elemento que se va a obtener, en este ejemplo, el GetItem
método utiliza la clave hash-and-range principal del elemento de destino. Para determinar la tabla de la que se va a obtener el elemento, el método LoadTable
de la clase Table
usa una instancia de la clase AmazonDynamoDBClient
y el nombre de la tabla de destino en DynamoDB.
Insertar datos de JSON formato en una tabla de DynamoDB
El siguiente ejemplo muestra cómo utilizar el JSON formato para insertar un elemento en una tabla de 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);
En el ejemplo anterior, el FromJson
método de la Document
clase convierte una cadena con JSON formato en un elemento. El elemento se inserta en la tabla a través del método PutItem
de la clase Table
, que usa la instancia de la clase Document
que contiene el elemento. Para determinar la tabla en la que se va a insertar el elemento, se llama al método LoadTable
de la clase Table
, especificando una instancia de la clase AmazonDynamoDBClient
y el nombre de la tabla de destino en DynamoDB.
Conversiones de tipos de datos de DynamoDB a JSON
Siempre que llame al ToJson
método de la Document
clase y, a continuación, en los JSON datos resultantes llame al FromJson
método para volver a convertir los JSON datos en una instancia de una Document
clase, algunos tipos de datos de DynamoDB no se convertirán como se esperaba. En concreto:
-
Los conjuntos de DynamoDB (
SS
los tiposNS
,BS
y) se convertirán en matrices. JSON -
Los escalares y conjuntos binarios de DynamoDB (
B
los tiposBS
y) se convertirán en cadenas o listas de cadenas codificadas JSON en base64.En este escenario, debe llamar al
DecodeBase64Attributes
método de laDocument
clase para reemplazar los datos codificados en base64 por la representación binaria correctaJSON. En el siguiente ejemplo se reemplaza un atributo de elemento escalar binario codificado en base64 en una instancia de una claseDocument
, denominadaPicture
, con la representación binaria correcta. En este ejemplo también se hace lo mismo para un atributo de elemento del conjunto binario codificado en base64 en la misma instancia de la claseDocument
, denominadaRelatedPictures
:item.DecodeBase64Attributes("Picture", "RelatedPictures");
Más información
Para obtener más información y ejemplos de programación JSON con DynamoDB con AWS SDK for .NET, consulte: