Criar funções do Lambda com Java - AWS Lambda

Criar funções do Lambda com Java

Você pode executar Código Java no AWS Lambda. O Lambda fornece tempos de execução para o Java que executa o seu código para processar eventos. O código é executado em um ambiente do Amazon Linux que inclui credenciais da AWS 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 Java.

Tempos de execução do Java
Nome Identifier JDK Sistema operacional

Java 11

java11

amazon-corretto-11

Amazon Linux 2

Java 8

java8.al2

amazon-corretto-8

Amazon Linux 2

Java 8

java8

java-1.8.0-openjdk

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 Java

  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)Java 11.

    • 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 invocar a função, escolha Test (Testar).

O console cria uma função do Lambda com uma classe de manipulador chamada Hello. Como Java é uma linguagem compilada, não é possível visualizar nem editar o código-fonte no console do Lambda, mas você pode modificar a configuração dele, invocá-lo e configurar triggers.

nota

Para começar com o desenvolvimento de aplicativos no ambiente local, implante um dos aplicativos de exemplo disponíveis no repositório do GitHub deste guia.

A classe Hello tem uma função chamada handleRequest que utiliza 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 Java recebe eventos de invocação do Lambda e os transmite ao handler. Na configuração da função, o valor do handler é example.Hello::handleRequest.

Para atualizar o código da função, crie 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.