Neste tutorial, nós vamos aprender o básico sobre a execução de código no AWS Lambda sem provisionar ou gerenciar servidores. Daremos detalhes sobre como criar uma função do Lambda Hello World usando o console do AWS Lambda. Nós iremos, então, mostrar a você como chamar manualmente a função do Lambda usando exemplos de dados de evento, além de revisar suas métricas de saída.

Todas as atividades realizadas nesse tutorial estão qualificadas para o nível gratuito.

A execução de código sem servidor na AWS exige uma conta

Crie uma conta gratuita em minutos

O nível gratuito da AWS inclui 1 milhão de solicitações gratuitas e até 3,2 milhões de segundos de tempo de computação por mês com o AWS Lambda.

Consulte os detalhes do nível gratuito da AWS »

 

Ao clicar aqui, o Console de Gerenciamento da AWS abrirá em uma nova janela do navegador, para que você possa manter aberto esse guia passo a passo.  Encontre Lambda sob Compute e clique para abrir o Console do AWS Lambda.

create-lambda-function_0

(clique para ampliar)

create-lambda-function_0

Os esquemas disponibilizam exemplos de código para que sejam feitos alguns processamentos mínimos. A maioria dos esquemas processam eventos de origens específicas, como Amazon S3, DynamoDB ou um aplicativo personalizado.

a. No console do AWS Lambda, selecione Get Started Now.

Se você já tiver funções do Lambda, selecione Create a Lambda function.

create-lambda-function_1

(clique para ampliar)

create-lambda-function_1

b.  Na caixa Filter, digite hello-world-python e selecione o esquema hello-world-python.

create-lambda-function_2

(clique para ampliar)

create-lambda-function_2

Uma função do Lambda é composta pelo código que você disponibiliza, pelas dependências associadas e pela configuração. As informações de configuração que você disponibiliza incluem os recursos computacionais que você deseja alocar (por exemplo, a memória), o timeout de execução e uma atribuição do IAM que o AWS Lambda pode assumir para executar a função do Lambda em seu nome.


a. Agora, você vai configurar a função do Lambda.  A lista abaixo explica as configurações e disponibiliza exemplos de valores.

Configure a função:
  • Nome: você pode designar um nome para a sua função aqui. Para esse tutorial, digite hello-world-python.
  • Descrição: você pode digitar uma descrição curta da sua função aqui. Ela é previamente preenchida com uma função do AWS Lambda inicial. 
  • Runtime: no momento, você pode criar seu código de função do Lambda no Java, Node.js, ou Python 2.7. Para esse tutorial, selecione a opção Python 2.7 como runtime.

Código de função do Lambda:

  • Nesta seção, você pode revisar o exemplo de código criado no Python.

Handler e atribuição da função do Lambda:

  • Handler: você pode especificar um handler (um método/uma função no seu código) em que o AWS Lambda possa começar a executar o seu código. O AWS Lambda disponibiliza dados de evento como informações para este handler que processa o evento. Neste exemplo, isso é identificado pelo Lambda no exemplo de código, que deve ser previamente preenchido com lambda_function.lambda_handler.
  • Atribuição: clique na lista suspensa e selecione Basic Execution Role.
create-lambda-function_13

(clique para ampliar)

create-lambda-function_13

b.  Você criará uma atribuição do IAM (chamada de atribuição de execução) com as permissões necessárias que o AWS Lambda pode assumir para chamar sua função do Lambda no seu nome. Clique em Allow.

Você será levado de volta para a página Configure function e a opção lambda_basic_execution será selecionada. 

create-lambda-function_3

(clique para ampliar)

create-lambda-function_3

c.  Na seção Advanced settings, você pode configurar suas definições de memória, timeout e VPC.  Para esse tutorial, deixe os valores padrão de configuração da função do Lambda e clique em Next.

create-lambda-function_15

(clique para ampliar)

create-lambda-function_15

d. Revise a função do Lambda e clique em Create Function. O console salva o código em um arquivo e o compacta, e isso torna-se o pacote de implantação. Em seguida, o console faz o upload do pacote de implantação no AWS Lambda, criando sua função do Lambda.

create-lambda-function_5

(clique para ampliar)

create-lambda-function_5

O console mostra a função do Lambda hello-world-python. Agora, você pode testar a função, verificar os resultados e revisar os logs.


a. Clique em Test.

create-lambda-function_18

(clique para ampliar)

create-lambda-function_18

b. O editor surge para inserir um evento para testar a sua função.  

  • Selecione Hello World na lista Sample event template da página Input test event. 
  • Você pode alterar os valores no exemplo do JSON, mas não pode mudar a estrutura do evento. Para esse tutorial, substitua value1 por hello, world!.

Clique em Save and test. Agora, o AWS Lambda executará a função em seu nome.

create-lambda-function_17

(clique para ampliar)

create-lambda-function_17

c.  Após a execução bem-sucedida, veja os resultados no console:

  • A seção Execution results verifica se a execução foi bem-sucedida.
  • A seção Summary mostra as informações principais reportadas em Log output.
  • A seção Log output mostrará o logs gerados pela execução da função do Lambda. 
create-lambda-function_20

(clique para ampliar)

create-lambda-function_20

O AWS Lambda monitora automaticamente funções do Lambda e reporta métricas por meio do Amazon CloudWatch. Para ajudá-lo a monitorar seu código enquanto ele for executado, o Lambda rastreia automaticamente o número de solicitações, a latência por solicitação e o número de solicitações resultando em erro, e publica as métricas associadas. 


a. Chame a função do Lambda algumas vezes mais clicando repetidamente no botão Test.  Isso gerará as métricas que poderão ser vistas na próxima etapa.

create-lambda-function_16

(clique para ampliar)

create-lambda-function_16

b.  Selecione a guia Monitoring para ver as métricas da sua função do Lambda.  As métricas do Lambda são reportadas por meio do Amazon CloudWatch. Você pode aproveitar essas métricas para definir alarmes personalizados. Para obter mais informações sobre o CloudWatch, consulte o Guia do desenvolvedor do Amazon CloudWatch.

A guia de monitoramento mostrará quatro métricas do CloudWatch: contagem de chamadas, duração da chamada, erros da chamada e chamadas aceleradas.

Com o AWS Lambda, pague somente pelo que usar. Depois de atingir o limite do nível gratuito do AWS Lambda, você será cobrado com base no número de solicitações para as funções (contagem de chamadas) e o tempo em que o seu código é executado (duração da chamada).  Para obter mais informações, consulte a Definição de preço do AWS Lambda.

create-lambda-function_7

(clique para ampliar)

create-lambda-function_7

Embora você não seja cobrado por manter a função do Lambda, é possível excluí-la facilmente do Console do AWS Lambda.  


a.  Selecione o botão Actions e clique em  Delete Function.

create-lambda-function_6

(clique para ampliar)

create-lambda-function_6

b. Será solicitado que você confirme o encerramento. Selecione Yes, Terminate.

create-lambda-function_12

(clique para ampliar)

create-lambda-function_12

Você criou sua primeira função do AWS Lambda. Esta é a primeira etapa para aprender como executar aplicativos sem precisar provisionar ou gerenciar servidores. O Lambda escala automaticamente os aplicativos ao executar seu código em resposta a cada trigger, escalando precisamente de acordo com o tamanho das suas cargas de trabalho.

Agora que você aprendeu a criar uma função do Lambda, pode passar para o próximo tutorial, no qual aprenderá a acionar uma função do Lambda para processar dados carregados no bucket do Amazon S3. Você usará uma função do Lambda para criar, em tempo real, uma miniatura de imagens que foram carregadas em um bucket do S3.

Use o AWS Lambda com o Amazon S3 »

Sim
Não