O Que É DynamoDB?

Tempo de leitura: 3 min

Escrito por Celso Kitamura
em 15 de fevereiro de 2022

Compartilhe agora mesmo:

O Que É DynamoDB?
1/5 - (1 vote)

Precisa criar uma skill que armazena dados em uma tabela?

 

Nesse artigo eu vou te mostrar que você pode utilizar um banco de dados gratuitamente em sua skill.

 

Vamos conversar sobre o que é DynamoDB e como podemos usar em nossas skills.

 

 

O Que É DynamoDB?

 

Mas antes vamos começar com o que é DynamoDB.

 

O Amazon DynamoDB é um banco de dados de chave-valor NoSQL, sem servidor (Serverless) e totalmente gerenciado, projetado para executar aplicações de alta performance em qualquer escala.

 

O DynamoDB oferece segurança integrada, backups contínuos, replicação multirregional automatizada, armazenamento em cache na memória e ferramentas de exportação de dados.

 

A curiosidade aqui é que o DynamoDB foi desenvolvido pela Amazon. Ela criou este banco de dados para uso próprio e depois tornou disponível como serviço para seus clientes.

 

Componentes Do DynamoDB

 

Em termos de estrutura o DynamoDB tem suas semelhanças com bancos relacionais.

 

  • Tabelas: como em outros bancos de dados, o DynamoDB armazena dados em tabelas.
  • Itens: cada tabela contém zero ou mais itens. Um item é um grupo de atributos identificável exclusivamente entre todos os outros itens.
  • Atributos: cada item é composto de um ou mais atributos. Um atributo é um elemento de dados fundamental, algo que não precisa ser dividido. São similares a colunas em banco de dados relacionais.
  • Atributos Aninhados: O DynamoDB oferece suporte a atributos aninhados até 32 níveis de profundidade.
  • Índices secundários: permite consultar os dados na tabela usando uma chave alternativa, além de consultas com base na chave primária.
  • Chave primária: pode ser chave primária simples, de um atributo, ou uma chave composta por dois atributos.

 

Mas diferente dos bancos de dados relacionais, as tabelas podem ou não ter schemas. Cada item pode ter seus próprios atributos distintos.

 

Utilizando DynamoDB Em Skills

 

Até pouco tempo atrás, a única maneira de persistir dados em uma skill do tipo Alexa Hosted utilizando o nível gratuito que recebemos da AWS era utilizando o S3.

 

E já conversamos sobre o S3 aqui.

 

Bom, alguns meses atrás a Amazon começou a disponibilizar uma tabela no DynamoDB junto com os outros recursos provisionados numa skill do tipo Alexa Hosted.

 

Quando você cria uma skill desse tipo, além do Lambda, são provisionados outros serviços do AWS no nível gratuito, como o S3, CloudWatch e o DynamoDB.

 

Isso quer dizer que você não precisa fazer nada. Ao criar uma skill o provisionamento do DynamoDB é automático.

 

Você pode acessar o DynamoDB através do ícone correspondente na barra de ferramentas da aba Code no Console do Desenvolvedor.

 

Console do Desenvolvedor - O Que É DynamoDB

 

Clicando nele, uma outra aba do navegador no DynamoDB será aberta:

 

DynamoDB - O Que É DynamoDB

 

Acessando O DynamoDB Pela Skill

 

O ASK possui um adaptador para manipular dados no DynamoDB.

 

Aqui não tem nada de novo para quem já desenvolve para web.

 

Inclui um pacote na solução, importa no código e usa os métodos do pacote para criar uma conexão e acessar a base de dados.

 

Segue um passo a passo bem alto nível de como fazer esse acesso dentro do código da sua skill.

 

  1. Adicione a dependência do pacote de acesso ao DynamoDB no arquivo package.json
  2. No arquivo index.js arquivo, adicione o código. Importe o adaptador de persistência ask.
  3. Inclua o manipulador SessionEndedRequestHandler. Não sobrescreva outros manipuladores de solicitação.
  4. Crie um manipulador para salvar atributos.
  5. Crie um manipulador para ler atributos.

 

Se você achou interessante e quer que eu fale sobre como utilizar o DynamoDB no código da skill com mais detalhes, faz um comentário aí embaixo.

 

Palavras Finais

 

O que é DynamoDB? O Amazon DynamoDB é um serviço de banco de dados NoSQL da AWS totalmente gerenciado que fornece uma performance rápida e previsível com escalabilidade integrada.

 

Diferente de um banco de dados relacional, as interações com o DynamoDB são stateless, ou seja, os aplicativos não precisam manter conexões de rede persistentes.

 

Ao criar uma skill do tipo Alexa Hosted, é provisionada uma tabela do DynamoDB para persistir dados que faz parte do nível gratuito da AWS.

 

Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!

Olha o link: 👉🏼 https://celsokitamura.com.br/como-aprender-a-programar

Bora aprender a programar!

Compartilhe agora mesmo:

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


Seja o primeiro a comentar!

Damos valor à sua privacidade

Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

Cookies estritamente necessários

Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

Cookies de desempenho

Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

Cookies de funcionalidade

Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

Cookies de publicidade

Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

Visite as nossas páginas de Políticas de privacidade e Termos e condições.

Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
Criado por WP RGPD Pro