JSONsuporte no Amazon DynamoDB - AWS SDK for .NET

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

JSONsuporte no Amazon DynamoDB

nota

As informações neste tópico são específicas para projetos baseados em. NETFramework e a AWS SDK for .NET versão 3.3 e anteriores.

O AWS SDK for .NET suporta JSON dados ao trabalhar com o Amazon DynamoDB. Isso permite que você obtenha dados JSON formatados e insira JSON documentos nas tabelas do DynamoDB com mais facilidade.

Obtenha dados de uma tabela do DynamoDB em formato JSON

O exemplo a seguir mostra como obter dados de uma tabela do DynamoDB em 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 // }

No exemplo anterior, o ToJson método da Document classe converte um item da tabela em uma string JSON formatada. O item é recuperado pelo método GetItem da classe Table. Para determinar o item a ser obtido, neste exemplo, o GetItem método usa a chave hash-and-range primária do item de destino. Para determinar a tabela de onde se obter o item, o método LoadTable da classe Table usa uma instância da classe AmazonDynamoDBClient e o nome da tabela de destino no DynamoDB.

Inserir dados de JSON formato em uma tabela do DynamoDB

O exemplo a seguir mostra como usar o JSON formato para inserir um item em uma tabela do 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);

No exemplo anterior, o FromJson método da Document classe converte uma string JSON formatada em um item. O item é inserido na tabela pelo método PutItem da classe Table, que usa a instância da classe Document que contém o item. Para determinar a tabela na qual inserir o item, o método LoadTable da classe Table é chamado, especificando uma instância da classe AmazonDynamoDBClient e o nome da tabela de destino no DynamoDB.

Conversões de tipo de dados do DynamoDB para JSON

Sempre que você chama o ToJson método da Document classe e, nos JSON dados resultantes, chama o FromJson método para converter os JSON dados novamente em uma instância de uma Document classe, alguns tipos de dados do DynamoDB não serão convertidos conforme o esperado. Especificamente:

  • Os conjuntos do DynamoDB (SSos tiposNS, BS e) serão convertidos em matrizes. JSON

  • Os escalares e conjuntos binários do DynamoDB (os tipos BS e) serão convertidos em B cadeias de caracteres codificadas em JSON base64 ou listas de cadeias de caracteres.

    Nesse cenário, você deve chamar o DecodeBase64Attributes método da Document classe para substituir os JSON dados codificados em base64 pela representação binária correta. O exemplo a seguir substitui um atributo de item escalar binário codificado para base64 em uma instância de uma classe Document, de nome Picture, pela representação binária correta. Este exemplo também faz o mesmo pelo atributo do item do conjunto binário codificado para base64 na mesma instância da classe Document, de nome RelatedPictures:

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

Mais informações

Para obter mais informações e exemplos de programação JSON com o DynamoDB com AWS SDK for .NET o, consulte: