Conceitos básicos da AWS
Criar uma aplicação Web básica
Implantar uma aplicação Web e adicionar interatividade com uma API e um banco de dados
Módulo 2: Criação de uma função sem servidor
Neste módulo, você usará o AWS Lambda para criar uma função sem servidor.
Introdução
Neste módulo, você desenvolverá um pequeno código, em Python, JavaScript ou Java, que será usado em um módulo posterior para adicionar interatividade à sua página Web. Você usará o AWS Lambda, um serviço de computação que permite criar funções sem servidor. Uma “função sem servidor” elimina a necessidade de o desenvolvedor gerenciar software e hardware. Em vez disso, as aplicações são divididas em funções individuais que podem ser invocadas e escaladas separadamente.
Essas funções sem servidor são acionadas com base em um evento específico que você define no código. Trata-se também de um serviço muito acessível, já que a cobrança levará em conta apenas o número de eventos que você processar, não o tempo ocioso. O melhor de tudo é que você não precisa mais se preocupar com o gerenciamento de servidores!
O que você aprenderá
- Criar uma função do Lambda do zero no Console AWS (em Python, JavaScript ou Java)
- Criar eventos (JSON) no Console AWS para testar a função
Principais conceitos
Serviço de computação Serviço que oferece capacidade de processamento computacional.
Função sem servidor Código que será executado sob demanda por um serviço de computação.
Trigger do Lambda Tipo de evento que acionará uma função do Lambda (sem servidor). Ele pode ser outro serviço da AWS ou uma entrada externa.
Tempo para a conclusão
5 minutos
Serviços usados
Implementação
-
Criar e configurar uma função do Lambda
-
Python
-
JavaScript
-
Java
-
Python
-
- Em uma nova guia do navegador, faça login no Console do AWS Lambda.
- Anote a região onde você está criando a função. Você pode ver essa informação na parte superior da página, ao lado do nome da sua conta.
- Clique no botão laranja “Create Function” (Criar função).
- Em “Function Name” (Nome da função), digite HelloWorldFunction.
- Selecione Python 3.8 no menu suspenso runtime.
6. Clique no botão laranja “Create Function” (Criar função).
7. Uma caixa verde será exibida na parte superior da tela com a seguinte mensagem: “Successfully created the function.” (Função criada com êxito.)
8. Substitua o código em “Function Code” (Código da função) pelo seguinte:
# import the JSON utility package since we will be working with a JSON object import json # define the handler function that the Lambda service will use an entry point def lambda_handler(event, context): # extract values from the event object we got from the Lambda service name = event['firstName'] +' '+ event['lastName'] # return a properly formatted JSON object return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda, ' + name) }
9. Clique no botão laranja “Save” (Salvar) na parte superior da tela.
10. Vamos testar a nova função. Clique em “Select a test event” (Selecionar um evento de teste) na parte superior da tela.
11. No menu suspenso, clique em “Configure test events” (Configurar eventos de teste).
12. Em “Event Name” (Nome do evento), digite HelloWorldTestEvent.
13. Copie e cole o seguinte objeto JSON para substituir o padrão:
{ "firstName": "Ada", "lastName": "Lovelace" }
14. Clique no botão laranja “Create” (Criar) na parte inferior da página.
-
JavaScript
-
- Em uma nova guia do navegador, faça login no Console do AWS Lambda.
- Anote a região onde você está criando a função. Você pode ver essa informação na parte superior da página, ao lado do nome da sua conta.
- Clique no botão laranja “Create Function” (Criar função).
- Em “Function Name” (Nome da função), digite HelloWorldFunction.
- Selecione Node.js 12.x no menu suspenso runtime.
6. Clique no botão laranja “Create Function” (Criar função).
7. Uma caixa verde será exibida na parte superior da tela com a seguinte mensagem: “Successfully created the function.” (Função criada com êxito.)
8. Substitua o código em “Function Code” (Código da função) pelo seguinte:
// Define handler function, the entry point to our code for the Lambda service // We receive the object that triggers the function as a parameter exports.handler = async (event) => { // Extract values from event and format as strings let name = JSON.stringify(`Hello from Lambda, ${event.firstName} ${event.lastName}`); // Create a JSON object with our response and store it in a constant const response = { statusCode: 200, body: name }; // Return the response constant return response; };
9. Clique no botão laranja “Save” (Salvar) na parte superior da tela.
10. Vamos testar a nova função. Clique em “Select a test event” (Selecionar um evento de teste) na parte superior da tela.
11. No menu suspenso, clique em “Configure test events” (Configurar eventos de teste).
12. Em “Event Name” (Nome do evento), digite HelloWorldTestEvent.
13. Copie e cole o seguinte objeto JSON para substituir o padrão:
{ "firstName": "Ada", "lastName": "Lovelace" }
14. Clique no botão laranja “Create” (Criar) na parte inferior da página.
-
Java
-
- Em uma nova guia do navegador, faça login no Console do AWS Lambda.
- Anote a região onde você está criando a função. Você pode ver essa informação na parte superior da página, ao lado do nome da sua conta.
- Clique no botão laranja “Create Function” (Criar função).
- Em “Function Name” (Nome da função), digite HelloWorldFunction.
- Selecione Java 11 no menu suspenso runtime.
6. Clique no botão laranja “Create Function” (Criar função).
7. Uma caixa verde será exibida na parte superior da tela com a seguinte mensagem: “Successfully created the function.” (Função criada com êxito.)
8. Você acabou de criar uma função do Lambda com uma classe de manipulador chamada Hello. Como o Java é uma linguagem compilada, você não pode visualizar ou editar o código-fonte no console do Lambda, mas pode modificar sua configuração, invocá-lo e configurar triggers.
9. Para atualizar o código da função, você precisa criar um pacote de implantação, que é um arquivo JAR ou ZIP que contém esse código. Para a finalidade deste tutorial, incluímos o arquivo JAR no código da função atualizado que será usado aqui.
10. Vá para “Function code” (Código da função) e faça upload do arquivo JAR.
11. Atualize o “Handler” (Manipulador) para com.example.app.LambdaRequestHandler::handleRequest.
12. Clique no botão laranja “Save” (Salvar) na parte superior da tela.
13. Vamos testar a nova função. Clique em “Select a test event” (Selecionar um evento de teste) na parte superior da tela.
14. No menu suspenso, clique em “Configure test events” (Configurar eventos de teste).
15. Em “Event Name” (Nome do evento), digite HelloWorldTestEvent.
16. Copie e cole o seguinte objeto JSON para substituir o padrão:
{ "firstName": "Ada", "lastName": "Lovelace" }
17. Clique no botão laranja “Create” (Criar) na parte inferior da página.
-
-
Testar a função do Lambda
- Clique no botão cinza “Test” (Testar) na parte superior da página.
- Uma caixa verde-claro será exibida na parte superior da página com o seguinte texto: “Execution result: succeeded” (Resultado da execução: êxito). Clique em “details” (detalhes) para ver o evento que a função retornou.
- Muito bem! Agora você tem uma função do Lambda ativa.