Visão geral do laboratório
Este laboratório tem como objetivo ser o laboratório final no currículo do Developing with DynamoDB. Ele se baseia nas habilidades já abordadas nesses laboratórios. Como tal, espera-se que seja mais desafiador, com oportunidades para concluir o desenvolvimento referenciando a documentação e aproveitando a experiência anterior, em vez de apenas usar as respostas fornecidas. No entanto, são fornecidas respostas completas. Consulte o Gabarito caso você chegue a um ponto em que precise dele.
A AnyCompany está implantando uma nova aplicação de música baseada na web para complementar sua aplicação de banco de dados de filmes. Eles optaram por implementar isso usando o Amazon DynamoDB e uma arquitetura baseada em AWS Lambda sem servidor.
Essa aplicação terá quatro funções gerais: permitirá ao usuário mostrar todos os álbuns de música do banco de dados ou de um determinado gênero. Ela permitirá que os usuários adicionem ou excluam entradas no banco de dados, bem como atualizem os atributos que não sejam essenciais de um determinado álbum. Você foi encarregado de criar e implementar esta funcionalidade combinando Amazon DynamoDB, AWS Lambda e Amazon API Gateway em conjunto com um site front-end que você recebeu. Há uma tarefa opcional de integração do Amazon Cognito com a aplicação para autorizar usuários.
A aplicação de música terá os seguintes componentes:
- Um front-end estático escrito em HTML/Javascript hospedado no Amazon S3.
- Um back-end sem servidor aproveitando o Amazon API Gateway, o AWS Lambda e o Amazon Cognito.
- Uma tabela do DynamoDB para a camada de persistência.
Na imagem anterior, a arquitetura geral do laboratório, uma vez concluída, será mostrada. Um usuário, verificado por meio do Amazon Cognito, pode usar uma aplicação de música que utiliza um Amazon API Gateway e várias funções do Lambda para manipular os dados em uma tabela do DynamoDB chamada Albums (Álbuns).
Objetivos
Você aprenderá o seguinte no laboratório:
- Criar e implantar funções do Lambda escritas em Python para realizar operações em uma tabela do DynamoDB.
- Aproveitar as expressões condicionais do DynamoDB.
- Criar e implantar endpoints de API Gateway para funções de proxy do Lambda.
- Criar e configurar grupos de usuários do Amazon Cognito para autenticação.
Pré-requisitos de conhecimentos técnicos
Para concluir este laboratório com êxito, você deve estar familiarizado com a navegação no Console de gerenciamento da AWS, a edição de scripts usando um ambiente de desenvolvimento integrado (IDE) e a implementação de scripts do Python básicos para realizar operações CRUD com DynamoDB. Você também deve ter um conhecimento básico dos serviços Amazon Simple Storage Service (Amazon S3), AWS Lambda e Amazon API Gateway.
Lista de ícones
Vários ícones são usados neste laboratório para chamar a atenção para determinados aspectos do guia. A lista a seguir explica a finalidade de cada ícone:
- Atenção: informações de interesse ou importância especial (não tão importantes a ponto de causar problemas com o equipamento ou dados caso você não as veja, mas que podem resultar na necessidade de repetir determinadas etapas).
- Comando: um comando que você precisa executar.
- Saída esperada: um exemplo que você pode usar para verificar a saída de um comando ou arquivo editado.
- Observação: uma sugestão, dica ou orientação importante.
- Saiba mais: onde encontrar mais informações.
- Teste de conhecimento: uma oportunidade de verificar seu conhecimento e testar o que você aprendeu.
- Tarefa concluída: um ponto de conclusão ou de resumo no laboratório.
- Aviso: uma ação que seja irreversível e que possa afetar a falha de um comando ou processo (inclusive avisos sobre configurações que não possam ser alteradas depois de definidas).