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.
Tópicos
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 (
SS
os tiposNS
,BS
e) serão convertidos em matrizes. JSON -
Os escalares e conjuntos binários do DynamoDB (os tipos
BS
e) serão convertidos emB
cadeias de caracteres codificadas em JSON base64 ou listas de cadeias de caracteres.Nesse cenário, você deve chamar o
DecodeBase64Attributes
método daDocument
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 classeDocument
, de nomePicture
, 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 classeDocument
, de nomeRelatedPictures
: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: