Menu fechado

AWS Lambda – TUDO sobre Funções Serverless

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 executada
  • function/package.json: Arquivo de dependências do nodejs
  • function.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).

image info

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.

image info

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.

image info

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.

image info

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).

image info

Passo 7:

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

image info

Passo 8:

Selecione a opção Lambda nos resultados abaixo.

image info

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).

image info

Passo 10:

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

image info

Passo 11:

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

image info

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.

image info

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).

image info

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.

image info

Passo 15:

Este é o resultado da sua função.

image info

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.

image info

Passo 17:

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

image info

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.

image info

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

Siga-nos:
YouTube
YouTube
LinkedIn
Share
Instagram
Telegram
WhatsApp