Trabalhar com o modelo de documento do .NET no DynamoDB - Amazon DynamoDB

Trabalhar com o modelo de documento do .NET no DynamoDB

O AWS SDK for .NET fornece classes do modelo de documento para empacotar algumas das operações de baixo nível do Amazon DynamoDB, simplificando ainda mais sua codificação. No modelo de documento, as classes primárias são Table e Document. A classe Table fornece métodos de operação de dados, como PutItem, GetItem e DeleteItem. Ela também fornece os métodos Query e Scan. A classe Document representa um único item em uma tabela.

As classes do modelo de documento anteriores estão disponíveis no namespace Amazon.DynamoDBv2.DocumentModel.

nota

Não é possível usar as classes do modelo de documento para criar, atualizar e excluir tabelas. Por outro lado, o modelo de documento oferece suporte à maioria das operações de dados comuns.

Tipos de dados compatíveis

O modelo de documento oferece suporte a um conjunto de tipos de dados .NET primitivos e tipos de dados de coleções. O modelo é compatível com os seguintes tipos de dados primitivos.

  • bool

  • byte

  • char

  • DateTime

  • decimal

  • double

  • float

  • Guid

  • Int16

  • Int32

  • Int64

  • SByte

  • string

  • UInt16

  • UInt32

  • UInt64

A tabela a seguir resume o mapeamento dos tipos .NET anteriores nos tipos do DynamoDB.

Tipo primitivo .NET Tipo do DynamoDB

Todos os tipos de número

N (tipo Número)

Todos os tipos de string

S (tipo String)

MemoryStream, byte[]

B (tipo Binário)

bool N (tipo numérico), 0 representa false 1 representa true.
DateTime S (tipo String). Os valores de DateTime são armazenados como strings formatadas em ISO-8601.
Guid S (tipo String).
Tipos de coleção (List, HashSet e array) Tipo BS (conjunto binário), tipo SS (conjunto de strings) e tipo NS (conjunto de números)

O AWS SDK for .NET define tipos para mapear os tipos Boolean, Null, List e Map do DynamoDB na API do modelo de documento do .NET:

  • Use DynamoDBBool para o tipo booliano.

  • Use DynamoDBNull para o tipo nulo.

  • Use DynamoDBList para o tipo lista.

  • Use Document para o tipo mapa.

nota
  • Valores binários vazios são compatíveis.

  • A leitura de valores string vazios é compatível. Os valores de atributos string vazios são compatíveis nos valores de atributos do tipo de conjunto string durante a gravação no DynamoDB. Os valores de atributos string vazios do tipo string e os valores string vazios contidos no tipo Lista ou Mapa são descartados das solicitações de gravação