AWS Lambda
Last updated
Was this helpful?
Last updated
Was this helpful?
É um serviço em que podemos executar funções de forma serveless. Podemos importar códigos para dentro ou para fora da AWS quando necessário e utilizado linguagens de programação que já conhecemos.
Também podemos executar chamadas de API’s da internet, da própria AWS ou de datacenters. Com o aumento de demanda a necessidade de escalabilidade do serviço é feito pela própria AWS automaticamente a depender de eventos que ocorram.
Esse serviço tem certos limite de uso gratuito como especificado abaixo:
Para saber mais sobres os custos desse serviço e de outros recomendo acessar: Free Tier Categories
OBS: alguns serviços só tem esse free-tier por 12 meses(como o API Gateway que veremos mais a frente)
Caso esteja utilizando o AWS academy pode haver diferenças nessas informações, por isso recomendamos buscar no site deles as orientações adequadas caso seja seu caso.
C#
GO
Python
JAVA
Node.JS
Ruby
PowerShell
Para quem gerealmente utiliza IDE’s para programar algumas delas tem plugins que são disponibilizados pela AWS. Temos como exemplo: VSCode, Eclipse, IntelliJ e PyCharm.
Como a AWS permite interações entre seus diversos tipos de serviços, pode-se surgir a necessidade de a função Lambda ser chamada por algum outro serviço ou também pode executar alterações em outros serviços. Para que isso ocorra adequadamente é preciso fazer 2 tipos de autorização.
Autorização para invocar a função: chamada de Resource-based policy, esse tipo de autorização indica quais serviços podem fazer uso da função que criarmos
Autorização para execução: chamada de execution role, indica para função Lambda quais serviços ela pode acessar.
A função handler é a principal do nosso código. Ela recebe 2 parâmetros chamados event e context. Ambos são objetos mas cada um com uma característica diferente:
Event: objeto com todas as informações passadas para a função para que ela execute de forma apropriada.
Context: objeto que nos auxilia a mudar o ambiente de execução da função lambda se necessário.
Essa função sempre será executada quando houver a invocação da função Lambda por meio de algum evento
Primeiramente precisamos acessar o serviço chamado AWS Lambda. Após isso seguiremos os seguintes passos:
Clique em criar função
Preencher campos: coloque o nome da função e a arquitetura que será utilizada como mostrado abaixo, além da linguagem que iremos utilizar para escrever o código
Role: vamos utilizar o LabRole.(essa role só existe na AWS Academy lab caso esteja em uma conta pessoal é preciso criar um role para essa função)
Crie a função
Vá para o código da função: Selecione a função que queira ajustar e vá para a parte do código:
É nessa parte em que escreveremos nosso código em python. Faremos uma função que faça ser mostrado na tela uma pirâmide formada pelo caracter que escolhermos passar para ela. Segue abaixo o código comentado:
Com isso criamos juntos uma função de exemplo no AWS Lambda. Vamos agora criar uma API com o API Gateway e fazer uma interação entre ela e a função que criamos. A API será responsável por enviar o evento de acionamento da função, de forma a passar os parâmetros caracter_desenho e largura_piramide para que a função funcione adequadamente. Segue um exemplo de como será passado esses parâmetros :