Visão geral
Continue a missão! Neste laboratório, você continuará criando um gerador de dossiê de missão com o DynamoDB. Esta é a segunda parte de uma série de laboratórios em três partes. Você já criou uma tabela do DynamoDB e configurou o IAM na parte 1. Agora, neste laboratório (parte 2), você criará e testará funções do Lambda que interagem com o DynamoDB e recuperam dados de diversas maneiras. Em seguida, você testará suas novas funções. Na parte 3, você publicará o aplicativo, utilizando todas as habilidades do DynamoDB que você aprendeu nos três laboratórios e enviará sua equipe de super-heróis para salvar o mundo!
Tópicos abordados
Ao final deste laboratório, você poderá:
- Criar funções do Lambda que recuperam dados de uma tabela do DynamoDB de duas maneiras diferentes
- Testar as funções do Lambda com um modelo
- Configurar testes personalizados para funções do Lambda
Pré-requisitos
Você deve aprender os principais conceitos fazendo o laboratório Introdução ao Amazon DynamoDB.
Este é o segundo laboratório de uma série de laboratórios de três partes. Embora os laboratórios sejam independentes, eles desenvolvem o conteúdo visto antes, então recomendamos que você realize o laboratório Aplicações sem servidor usando o Amazon DynamoDB – parte 1 antes deste laboratório.
Outros serviços da AWS
Os serviços da AWS que não forem necessários para este laboratório ficarão desabilitados pela política do IAM enquanto você acessar o laboratório. Além disso, os recursos dos serviços usados neste laboratório são apenas aqueles indispensáveis. Em alguns casos, há ainda menos recursos, o que é um aspecto proposital do projeto do laboratório. É possível que haja erros se você acessar outros serviços ou executar ações que não estejam presentes no guia deste laboratório.
Amazon DynamoDB
O Amazon DynamoDB é um serviço de banco de dados NoSQL rápido e flexível para todos os aplicativos que precisam de latência estável abaixo de 10 milissegundos, em qualquer escala. O serviço é um banco de dados em nuvem gerenciado e é compatível com os modelos de armazenamento de documentos e chave-valor. O modelo de dados flexível e o desempenho confiável fazem dele a escolha perfeita para aplicativos móveis e da Web, jogos, tecnologia de anúncios, IoT e muitas outras aplicações.
Você pode usar o Amazon DynamoDB para criar uma tabela de banco de dados que pode armazenar e recuperar qualquer quantidade de dados, assim como atender a todos os níveis de solicitação de tráfego. O Amazon DynamoDB distribui automaticamente os dados e o tráfego da tabela por um número suficiente de servidores que atenda à capacidade de requisições especificada pelo cliente e a quantidade de dados armazenados, enquanto mantém uma performance consistente e rápido.
Terminologia do DynamoDB
Tabelas Semelhante a outros sistemas de gerenciamento de banco de dados, o DynamoDB armazena dados em tabelas. Uma tabela é uma coleção de dados. Por exemplo, neste laboratório, você vai trabalhar com uma tabela chamada SuperMission, na qual as informações da missão são armazenadas. Itens Cada tabela contém vários itens. Um item é um grupo de atributos identificável exclusivamente entre todos os outros itens. Na tabela SuperMission, cada item representa informações da missão. Atributos Cada item é composto por um ou mais atributos. Um atributo é um elemento de dados fundamental, algo que não precisa ser dividido ainda mais. Na tabela SuperMission, os itens têm atributos como SuperHero, MissionStatus, Villain1 etc. Os atributos no DynamoDB são semelhantes de várias maneiras a campos ou colunas em outros sistemas de gerenciamento de banco de dados. Chave primária Ao criar uma tabela, além do nome dela, você deve especificar a chave primária da tabela. Como em outros bancos de dados, a chave primária no DynamoDB identifica exclusivamente cada item na tabela, de modo que dois itens não possam ter a mesma chave. Ao adicionar, atualizar ou excluir um item na tabela, você deve especificar os valores de atributos de chave primária desse item. As chaves-valores são necessárias, você não pode omiti-las. O DynamoDB oferece suporte a dois tipos diferentes de chaves primárias: chave de partição e chave de partição e de classificação. Índices secundários No DynamoDB, você pode ler dados em uma tabela fornecendo valores de atributo de chave primária. Para ler os dados usando atributos não relacionados à chave, use um índice secundário. Depois de criar um índice secundário em uma tabela, você poderá ler dados do índice de maneira muito semelhante a como você o faz na tabela. Ao usar índices secundários, seus aplicativos podem usar vários padrões de consulta diferentes, além de acessar os dados por meio de chaves-valores primárias.
AWS Lambda
O AWS Lambda é um serviço computacional que oferece capacidade computacional redimensionável na nuvem para facilitar a computação em escala da web para os desenvolvedores. Faça upload do seu código no AWS Lambda e ele cuidará do provisionamento e do gerenciamento dos servidores que você usa para executar o código. O AWS Lambda é compatível com várias linguagens de programação: Node.js, Java ou Python. Você pode usar o AWS Lambda de duas maneiras:
- Como um serviço computacional orientado a eventos, em que o AWS Lambda executa seu código em resposta a eventos, como o upload de arquivos de imagem que você verá neste laboratório.
- Como um serviço de computação para executar seu código em resposta a solicitações HTTP usando o Amazon API Gateway ou chamadas de API.
O AWS Lambda transfere os benefícios financeiros em escala da Amazon para você. O Lambda executa seu código apenas quando necessário e escala automaticamente, desde algumas solicitações por dia até milhares por segundo. Com o Lambda é mais fácil criar gatilhos de processamento de dados para serviços da AWS, como o Amazon S3 e o Amazon DynamoDB, processar dados de streaming armazenados no Amazon Kinesis ou criar seu próprio back-end que opera com escala, desempenho e segurança da AWS.