Visão geral
Conclua sua missão! Neste laboratório, você criará e publicará um gerador de dossiê de missão usando o DynamoDB. Esta é a terceira parte de uma série de laboratórios de três partes. Na parte 1, você criou uma tabela do DynamoDB e inseriu dados da missão. Na parte 2, você criou e testou funções do Lambda para recuperar dados da missão. Na parte 3, você concluirá essa série de três partes configurando uma API com o Amazon API Gateway e definindo um site público para recuperar informações da sua tabela do DynamoDB, por meio de funções do Lambda. Para isso, aplique o que você aprendeu nos três laboratórios e envie super-heróis para salvar o mundo!
Tópicos abordados
Ao final deste laboratório, você poderá:
- Criar uma API para funções do Lambda para acessar uma tabela do DynamoDB usando o Amazon API Gateway
- Gerar o SDK para sua API
- Configurar e publicar conteúdo com o Amazon S3
… e dar aos super-heróis informações sobre as missões que eles terão que enfrentar!
Pré-requisitos do laboratório
Você deve aprender os principais conceitos fazendo o laboratório Introduction to Amazon DynamoDB. Este é o terceiro 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 anteriormente, então recomendamos que você realize os laboratórios Serverless Web Apps using Amazon DynamoDB – Part 1 e Serverless Web Apps using Amazon DynamoDB – Part 2 antes deste laboratório para ter a melhor experiência de aprendizado.
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 todas as aplicações 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 performance 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, e também 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ápida.
Se quiser saber mais informações sobre o Amazon DynamoDB, consulte https://aws.amazon.com/documentation/dynamodb/. Para ver preços, consulte https://aws.amazon.com/dynamodb/pricing/.
AWS Lambda
O AWS Lambda é um serviço de computação que fornece capacidade computacional redimensionável na nuvem para tornar a computação em escala da Web mais fácil para os desenvolvedores. Faça upload do seu código no AWS Lambda e o recurso fará o provisionamento e o 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 de computação orientado por eventos, em que o AWS Lambda executa seu código em resposta a eventos, como fazer o upload de arquivos de imagem (e 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 triggers de processamento de dados para serviços AWS, como Amazon S3 e Amazon DynamoDB, processar dados de streaming armazenados no Amazon Kinesis ou criar seu próprio back-end que opera com escala, performance e segurança da AWS.
Este guia do laboratório explica os conceitos básicos da AWS passo a passo. No entanto, ele apenas apresenta uma breve visão geral dos conceitos do Lambda. Para saber mais informações, consulte a Documentação oficial da Amazon Web Services para o Lambda em https://aws.amazon.com/documentation/lambda/. Para ver detalhes sobre preços, consulte https://aws.amazon.com/lambda/pricing/.
Amazon API Gateway
O Amazon API Gateway é um serviço totalmente gerenciado que permite que desenvolvedores criem, publiquem, mantenham, monitorem e protejam APIs em qualquer escala com facilidade. Com alguns cliques no Console de Gerenciamento da AWS, você pode criar uma API que atua como uma “porta de entrada” para que os aplicativos acessem dados, lógica de negócios ou funcionalidades a partir de seus serviços de back-end. Você pode usá-lo com cargas de trabalho sendo executadas no Amazon Elastic Compute Cloud (Amazon EC2), código em execução no AWS Lambda (como você verá neste laboratório) ou em qualquer aplicação Web. O Amazon API Gateway administra todas as tarefas envolvidas no recebimento e processamento de até centenas de milhares de chamadas de API simultâneas, inclusive gerenciamento de tráfego, controle de autorização e acesso, monitoramento, além de gerenciamento de versões de API.
A documentação está disponível em: https://aws.amazon.com/documentation/apigateway/. Para ver detalhes sobre preços, consulte https://aws.amazon.com/api-gateway/pricing/.