AWS Lambda
Guia do desenvolvedor

Criação de funções do Lambda com Node.js

Você pode executar JavaScript code with Node.js no AWS Lambda. O Lambda fornece tempos de execução para o Node.js que executa o seu código para processar eventos. O seu código é executado em um ambiente que inclui o AWS SDK for JavaScript, com as credenciais de uma função do AWS Identity and Access Management (IAM) que você gerencia.

O Lambda oferece suporte aos seguintes tempos de execução do Node.js.

Node.js Runtimes

Nome Identificador Versão do Node.js AWS SDK para JavaScript Sistema operacional

Node.js 10

nodejs10.x

10.16.3

2.488.0

Amazon Linux 2

Node.js 8.10

nodejs8.10

8.10

2.488.0

Amazon Linux

As funções Lambda usam uma função de execução para obter permissão para gravar logs no Amazon CloudWatch Logs e acessar outros serviços e recursos. Se você ainda não tiver uma função de execução para o desenvolvimento de funções, crie uma.

Para criar uma função de execução

  1. Abra a página Roles no console do IAM.

  2. Selecione Create role.

  3. Crie uma função com as seguintes propriedades.

    • Trusted entity (Entidade confiável)Lambda.

    • Permissions (Permissões)AWSLambdaBasicExecutionRole.

    • Nome da funçãolambda-role.

    A política AWSLambdaBasicExecutionRole tem as permissões necessárias para a função gravar logs no CloudWatch Logs.

Você pode adicionar permissões à função posteriormente ou trocá-la para uma função diferente específica de uma única função.

Para criar uma função do Node.js

  1. Abra o console do Lambda.

  2. Selecione Create function (Criar função).

  3. Configure as definições a seguir:

    • Name (Nome)my-function.

    • Runtime (Tempo de execução)Node.js 10.x.

    • Role (Função)Choose an existing role (Escolher uma função existente).

    • Existing role (Função existente)lambda-role.

  4. Selecione Create function (Criar função).

  5. Para configurar um evento de teste, escolha Test (Testar).

  6. Em Event name (Nome do evento), insira test.

  7. Escolha Criar.

  8. Para executar a função, escolha Test (Testar).

O console cria uma função Lambda com um único arquivo de origem chamado index.js. Você pode editar esse arquivo e adicionar mais arquivos no editor de códigos integrado. Para salvar suas alterações, escolha Save. Em seguida, para executar o código, escolha Test.

nota

O console do Lambda usa o AWS Cloud9 para fornecer um ambiente de desenvolvimento integrado no navegador. Você também pode usar o AWS Cloud9 para desenvolver funções Lambda em seu próprio ambiente. Para obter mais informações, consulte Trabalhar com funções do AWS Lambda no guia do usuário do AWS Cloud9.

O arquivo index.js exporta uma função chamada handler que usa um objeto de evento e um objeto de contexto. Esta é a função de handler que o Lambda chama quando a função é invocada. O tempo de execução da função do Node.js recebe eventos de invocação do Lambda e os transmite ao handler. Na configuração da função, o valor do handler é index.handler.

Cada vez que você salva o código da função, o console do Lambda cria um pacote de implantação, que é um arquivo ZIP que contém o código da função. À medida que o desenvolvimento da função progredir, você desejará armazenar o código da função no controle de origem, adicionar bibliotecas e automatizar implantações. Comece criando um pacote de implantação e atualizando o seu código na linha de comando.

O tempo de execução da função transmite um objeto de contexto para o handler, além do evento de invocação. O objeto de contexto contém informações adicionais sobre a invocação, a função e o ambiente de execução. Mais informações sobre variáveis do ambiente estão disponíveis.

A função do Lambda é fornecida com um grupo de logs do CloudWatch Logs. O tempo de execução da função envia detalhes sobre cada invocação para o CloudWatch Logs. Ele transmite todos os logs que sua função envia durante a invocação. Se a sua função retornar um erro, o Lambda formatará o erro e o retornará para o chamador.