View a markdown version of this page

Armazene e Recupere Dados com o DynamoDB - AWS Mobile SDK

O SDK AWS móvel para Xamarin agora está incluído no. AWS SDK para .NET Este guia faz referência à versão arquivada do Mobile SDK para Xamarin.

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á.

Armazene e Recupere Dados com o DynamoDB

O Amazon DynamoDB é um serviço de banco de dados rápido, altamente disponível, altamente escalável, econômico e não relacional. O DynamoDB remove limitações de escalabilidade tradicionais sobre armazenamento de dados, mantendo, ao mesmo tempo, a baixa latência e o desempenho previsível.

O tutorial a seguir explica como integrar o DynamoDB Object Persistence Model com o seu aplicativo, que armazena objetos no DynamoDB.

Configuração do projeto

Pré-requisitos

É necessário concluir todas as instruções na Configuração do AWS Mobile SDK para .NET e Xamarin antes de iniciar este tutorial.

Criação de uma tabela do DynamoDB

Antes de ler e gravar dados em um banco de dados do DynamoDB, você deve criar uma tabela. Ao criar uma tabela, é preciso especificar a chave primária. A chave primária é composta por um atributo de hash e um atributo de intervalo. Para obter mais informações sobre como os atributos principal e de intervalo são usados, consulte Trabalho com tabelas.

  1. Acesse o console do DynamoDB e clique em Create Table (Criar tabela). O assistente Criar Tabela será exibido.

  2. Especifique o nome da tabela, o tipo de chave primária (Hash), e o nome do atributo de hash ("Id"), conforme mostrado abaixo e clique em Continue (Continuar):

  3. Deixe em branco os campos de edição da tela seguinte e clique em Continue (Continuar).

  4. Aceite os valores padrão para Read Capacity Units (Unidades de capacidade de leitura) e Write Capacity Units (Unidades de capacidade de gravação) e clique em Continue (Continuar).

  5. Na próxima tela, insira seu endereço de e-mail na caixa de texto Send notification to: (Enviar notificação para:) e clique em Continue (Continuar). A tela de revisão será exibida.

  6. Clique em Criar. Pode demorar alguns minutos para a criação de sua tabela.

Definição de permissões para DynamoDB

Para que o seu grupo de identidades acesse o Amazon DynamoDB, você deve modificar as funções do grupo de identidades.

  1. Navegue até o console do Identity and Access Management e clique em Roles (Funções) no painel à esquerda. Pesquise o nome do seu grupo de identidades. Duas funções serão listadas: uma para os usuários autenticados e outra para os não autenticados.

  2. Clique na função para usuários não autenticados (terá "unauth" anexado ao nome do seu grupo de identidades) e clique em Create Role Policy (Criar política de função).

  3. Selecione Policy Generator (Gerador de políticas_ e clique em Select (Selecionar).

  4. Na página Edit Permissions (Editar permissões), insira as configurações mostradas na imagem a seguir. O nome de recurso da Amazon (ARN) de uma tabela do DynamoDB se parece com arn:aws:dynamodb:us-west-2:123456789012:table/Books e é composto pela região em que a tabela está localizada, pelo proprietário do número da conta da AWS e pelo nome da tabela no formato table/Books. Para obter mais informações sobre a especificação ARNs, consulte Amazon Resource Names for DynamoDB.

  5. Clique em Add statement (Adicionar instrução)e Next Step (Próxima etapa). O assistente mostrará a você a configuração gerada.

  6. Clique em Apply Policy (Aplicar política).

Adicione o NuGet pacote do DynamoDB ao seu projeto

Siga a etapa 4 das instruções em Configurar o AWS Mobile SDK para .NET e Xamarin para NuGet adicionar o pacote do DynamoDB ao seu projeto.

Inicializar AmazonDynamo DBClient

Passe seu provedor de credenciais inicializado do Amazon Cognito e sua região para AmazonDynamoDB o construtor e, em seguida, passe o cliente para o Dynamo: DBContext

var client = new AmazonDynamoDBClient(credentials,region); DynamoDBContext context = new DynamoDBContext(client);

Crie uma classe

Para gravar uma linha na tabela, defina uma classe para armazenar seus dados de linha. A classe também deve conter propriedades que contenham o atributo de dados referente à linha e que será mapeado para o DynamoDB Table criado no console. A declaração de classe a seguir ilustra a referida classe:

[DynamoDBTable("Books")] public class Book { [DynamoDBHashKey] // Hash key. public int Id { get; set; } public string Title { get; set; } public string ISBN { get; set; } public int Price { get; set; } public string PageCount { get; set; } public string Author{ get; set; } }

Salvar um item

Para salvar um item, crie um objeto primeiro:

Book songOfIceAndFire = new Book() { Id=1, Title="Game Of Thrones", ISBN="978-0553593716", Price=4, PageCount="819", Author="GRRM" };

Em seguida, salve:

context.Save(songOfIceAndFire);

Para atualizar uma linha, modifique a instância da classe DDTableRow e convoque AWSDynamoObjectMapper.save(), conforme mostrado acima.

Recuperação de um item

Recupere um item usando sua chave primária:

Book retrievedBook = context.Load<Book>(1);

Atualização de um item

Para atualizar um item:

Book retrievedBook = context.Load<Book>(1); retrievedBook.ISBN = "978-0553593716"; context.Save(retrievedBook);

Exclusão de um item

Para excluir um item:

Book retrievedBook = context.Load<Book>(1); context.Delete(retrievedBook);

Para obter mais informações sobre como acessar o DynamoDB em um aplicativo Xamarin, consulte Amazon DynamoDB.