Aula prática de AWS Lambda
Neste repositório você encontra os códigos de uma função Lambda básica para demonstração.
Este código foi criado para o vídeo do YouTube: https://youtu.be/RCK9fBwrZeY
Esta função retorna:
As estatísticas de uso do Lambda através da função lambda.getAccountSettings() e retorna o objeto:
{
"TotalCodeSize": 1007,
"FunctionCount": 1
}
O Objetivo é demonstrar:
- A estrutura básica de uma função do AWS Lambda;
- Como criar permissões para o Lambda no IAM;
- Como criar uma trigger no API Gateway para chamar a função Lambda;
Estrutura
function/index.js: Contém a função Lambda a ser executadafunction/package.json: Arquivo de dependências do nodejsfunction.zip: Versão zipada para upload
Empacotamento da função
Esta função utiliza apenas o pacote do aws-sdk que não é necessário ser enviado para a AWS, mas por padrão ele é instalado e empacotado com a função. O conteúdo do arquivo function/index.js pode ser inserido diretamente no painel do lambda sem a inclusão do diretório node_modules.
Para preparar o arquivo ZIP para upload basta executar o comando pack.sh. Se você utilizar este repositório como modelo para desenvolver funcionalidades mais complexas e/ou que contenham mais arquivos necessários para ser executada, não se esqueça de editar o arquivo pack.sh e incluir os arquivos adicionais.
Tutorial de criação de função Lambda com trigger em AWS API Gateway
Passo 1:
No seu painel principal do AWS Lambda, clique no botão Create Function (Criar Função).

Passo 2:
Na tela de criação de função selecione a opção Author from Scratch (Criar do zero). Insira um nome para sua função. Selecione a versão da engine do Node JS que deve ser usada Na área Execution Role (Papel de execução) deixe a opção padrão para que o lambda crie uma role padrão com permissão de envio de dados para o CloudWatch.

Passo 4:
Na tela da função lambda cole o conteúdo do arquivo function/index.js, salve e clique no botão Deploy para disponibilizar a função lambda para execução.

Passo 5:
Na aba Configuration (Configuração) selecione o item Permissions (Permissões) no menu lateral esquerdo, e em seguida clique na role exibida na caixa Execution Role (Papel de Execução) para ir para a tela do IAM.

Passo 6:
Na tela de detalhes da role no IAM, você tem duas opções, criar uma nova policy (política) ou adicionar uma política em linha, vamos pela segunda opção, então ao lado direito clique no link Add inline policy (Adicionar política em linha).

Passo 7:
Clique em Choose a service (Escolha um serviço) e digite lambda no campo de busca.

Passo 8:
Selecione a opção Lambda nos resultados abaixo.

Passo 9:
No item Access level (Nível de acesso) selecione o item Read (Leitura) para expandir as opções e marque a opção GetAccountSettings. Clique em Review Policy (Revisar política).

Passo 10:
Dê um nome para sua nova política de segurança, e clique em Create Policy (Criar Política).

Passo 11:
Agora você deve poder ver a sua nova política listada na role da sua função lambda.

Passo 12:
De volta a tela da sua função lambda, clique no botão Add Trigger (Adicionar Gatilho) e selecione a opção API Gateway.

Passo 13:
Selecione Create an API (Criar uma API). Selecione REST API (API REST). Em Security (Segurança) selecione a opção Open (Abrir). Digite um nome para sua API. Na opção Deployment stage (Estágio de implantação) digite dev. Deixe o restante das opções como padrão e clique em Add (Adicionar).

Passo 14:
Agora na lista de trigger você pode visualizar sua API já criada e o API Endpoint (Endpoint da API), que é o endereço que você deve usar no seu navegador para invocar sua função lambda.

Passo 15:
Este é o resultado da sua função.

Passo 16:
Na aba Monitor você terá acesso às métricas e logs da sua função e poderá conferir informações como o número de vezes que sua função foi invocada, tempo de resposta entre outras.

Passo 17:
Ainda na aba Monitor da sua função lambda você pode ver os logs detalhados de acesso.

Passo 18:
Entrando no painel do AWS API Gateway, é dessa maneira que a configuração do seu API Gateway irá parecer quanto a integração com sua função lambda.

Gostou do conteúdo deste vídeo?
👍 Então deixa um comentário, dá um like e Inscreva-se!
Tá sem tempo pra assistir o “Um Inventor Qualquer? Você pode ouvir!
Estamos em todas as plataformas de podcast!
🎧 Ouça aqui: https://bit.ly/3qa5JH1
Quer ficar por dentro das novidades que estamos preparando para o canal?
📸 Nos siga no Instagram: https://bit.ly/3tfzAj0