Como criar uma função lambda com o tempo de execução do Python

Como criar uma função lambda com o tempo de execução do Python
“Lambda é um serviço de computação sem servidor fornecido pela AWS para executar seu código sem gerenciar a escala e alta disponibilidade dos servidores. Pelo termo servidor, queremos dizer que você não precisa ter um servidor e gerenciá -lo para executar seu aplicativo. Lambda executa tarefas em seu nome e gerencia tudo por si só. Portanto, ele tem uma característica única da escala automática e gerenciamento das fontes e dos serviços, conforme os requisitos. Lembre-se de que, em tempo real, não é possível executar um aplicativo sem um servidor e seu gerenciamento, por isso é o AWS que atribui um servidor e gerencia todos esses serviços por si só, que não é a sua dor de cabeça.”

A seguir, estão algumas das principais tarefas que a AWS realiza e realiza em nosso nome quando você implanta seu aplicativo no Lambda.

  1. Servidores e manutenção do sistema operacional
  2. Gerenciamento de memória, CPU, rede e outros recursos
  3. Escala automática
  4. Alta disponibilidade
  5. Monitorando a saúde da frota
  6. Aplicando métodos de segurança
  7. Mantendo o controle das funções Lambda (Cloud Watch)

A função lambda suporta vários idiomas, incluindo java, go, powershell, nó.JS, C#, Python e Ruby. Para usar qualquer outra linguagem de programação, ele também fornece serviço de API em tempo de execução. Neste tutorial, explicaremos como podemos criar uma função Lambda com o tempo de execução do Python do zero.

Faturamento de Lambda

Depois de passar por uma breve introdução do serviço Lambda, a primeira coisa que vem à nossa mente é que, se for computação sem servidor, como a AWS cobraria esse serviço? Ao contrário do faturamento dos servidores EC2, onde cobra o AWS pelo tempo em que o servidor está em execução, independentemente do fato de que nosso código está em execução ou não, cobra a AWS pelo Lambda apenas quando o código está em execução. Portanto, o serviço Lambda é cobrado apenas quando nosso código está pronto, não a partir do momento em que nossa função lambda foi criada. Portanto, a duração da fatura para a função Lambda é calculada para o tempo de execução do código, que é arredondado para os 1 ms mais próximos*.

Criando uma função lambda com o tempo de execução do Python

Para criar uma função Lambda com o tempo de execução do Python, criaremos uma função e depois a configuraremos para usar o tempo de execução do Python. Neste tutorial, todo o procedimento de criação e configuração da função lambda será discutido.

Primeiro de tudo, faça login no console de gerenciamento da AWS e depois pesquise Lambda na barra de busca e vá em frente

Na barra lateral esquerda, clique no funções botão para obter todas as funções no console Lambda.

No lado direito da tela, clique no criar função botão para criar a função.

Depois de escolher a função Criar, seremos direcionados para a página de configuração da função Lambda. Lá, encontraremos quatro maneiras de criar uma função lambda. Por enquanto, iremos para o “Autor do zero”Opção.

No menu de informações básicas, definiremos um Nome da função de nossa escolha para nossa função.

Na próxima etapa, escolheremos um idioma que queremos usar para escrever nossa função. Neste tutorial, vamos escolher Python 3.9 Como nosso tempo de execução.

Então, as duas opções a seguir aparecerão para arquitetura.

  • X86_64
  • ARM64

Para esta demonstração, vamos escolher x86_64 Como a arquitetura que queremos usar para o código de função.

Por padrão, a AWS cria um papel de IAM que tem permissão para lançar toras para o CloudWatch. Podemos criar nosso próprio papel com as políticas que queremos usar para nossa função lambda, conforme nossos requisitos. Para este tutorial, no “Alterar a função de execução padrão”Menu, iremos para“Crie um novo papel com permissões básicas de lambda.

Então, no canto inferior direito, clicaremos em criar uma função Para criar a função.

Uma nova tela aparecerá com uma mensagem de sucesso e uma visão geral da função como abaixo. Nesta página, podemos adicionar gatilhos e destinos para nossa função. Além disso, outras informações sobre a função também podem ser vistas, que inclui descrição, última informação de modificação, função arn e url para a função.

Teste de uma função lambda

No menu de origem do código, podemos ver nosso código Python Hello World, conforme mostrado na figura abaixo.

Aqui podemos testar nosso código simplesmente clicando no Teste botão.

Isso levará um Configurar tela de evento de teste, E aqui você pode configurar um evento de teste nomeando-o, escolhendo a disponibilidade do evento de teste como privado ou compartilhável e para o modelo de hello-mundo padrão que escolhemos.

Em seguida, clique no salvar botão para salvar o evento.

Isso nos levará de volta ao menu principal da função exibindo a mensagem de sucesso no topo. Aqui vamos clicar novamente no Teste botão e nosso código será executado.

Como vimos os resultados de execução de nosso código na nova guia. Agora podemos substituir e editar nosso código e testá -lo da mesma maneira.

Ler registros de uma função lambda

Como demos permissão à nossa função Lambda para fazer upload de logs para o CloudWatch. Portanto, os logs serão enviados para o Cloud Watch cada vez que executarmos nosso código.

No painel lateral esquerdo do CloudWatch, clicaremos em logs. Aqui, poderemos ver duas opções em toras.

  • Grupos de log
  • Log Insights

Nos grupos de madeira, poderemos ver logs para função de hello-mundo como /AWS/Lambda/Hello-World-função.

No Log Insights, somos capazes de pesquisar e analisar os dados de nossos logs. Aqui podemos fazer consultas para realizar nosso trabalho relacionado a logs com mais eficiência.

Aqui no Log Insights, se escolhermos nosso grupo de log e clicar em Execute consulta, Teremos os resultados desejados.

E, teremos nossos resultados com @timestamp e @mensagem do seguinte modo

Da mesma maneira, podemos criar até 1000 funções lambda. Podemos escrever nosso código Python para atender aos nossos requisitos e executá -lo. Além disso, várias tarefas também podem ser automatizadas usando a função Lambda. Mencionamos algumas tarefas básicas abaixo que são gerenciadas pela função Lambda através do código Python usando o BOTO3, que é o Python SDK para a AWS.

  • Para receber alertas de condição de instância do EC2
  • Para agendar o início e a parada das instâncias do EC2
  • Para colocar um item na tabela AWS DynamoDB

Conclusão

A função Lambda é um serviço de computação sem servidor fornecido pela AWS, no qual a AWS executa todas as tarefas em nosso nome, desde a alocação de um servidor até a manutenção, gerenciamento, rede e segurança desse servidor para o nosso código. As cobranças da AWS pelo Lambda somente quando a função Lambda é acionada, e pode ser cobrada em milissegundos até. Portanto, este serviço de função lambda revolucionou o campo da computação em nuvem, facilitando a manuseação de várias tarefas de nuvem.