Construir funções do Lambda com Java
Você pode executar o código Java noAWS Lambda. O Lambda fornece runtimes para Java que executam 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 runtimes Java.
Nome | Identificador | Sistema operacional | Data da substituição | Bloquear a criação de funções | Bloquear a atualização de funções |
---|---|---|---|---|---|
Java 21 |
|
Amazon Linux 2023 |
Não programado |
Não programado |
Não programado |
Java 17 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Java 11 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
Java 8 |
|
Amazon Linux 2 |
Não programado |
Não programado |
Não programado |
O Lambda fornece as seguintes bibliotecas para funções em Java:
-
com.amazonaws:aws-lambda-java-core
(obrigatória): define as interfaces do método do manipulador e o objeto de contexto que o runtime transmite ao manipulador. Se você definir seus próprios tipos de entrada, esta será a única biblioteca necessária. -
com.amazonaws:aws-lambda-java-events
: tipos de entrada para eventos de serviços que invocam funções do Lambda. -
com.amazonaws:aws-lambda-java-log4j2
: uma biblioteca appender do Apache Log4j 2 que você pode usar para adicionar o ID de solicitação da invocação atual aos logs de função. -
AWS SDK for Java 2.0
: o AWS SDK oficial para a linguagem de programação Java.
Importante
Não use componentes privados da API JDK, como campos, métodos ou classes privadas. Componentes de API não públicos podem ser alterados ou removidos em qualquer atualização, causando falha na aplicação.
Para criar uma função em Java
-
Abra o console do lambda
. -
Escolha a opção Criar função.
-
Configure as seguintes opções:
-
Nome da função: digite um nome para a função.
-
Runtime: escolha Java 21.
-
-
Escolha a opção Criar função.
-
Para configurar um evento de teste, escolha Test (Testar).
-
Em Nome do evento, insira
test
. -
Escolha Salvar alterações.
-
Escolha Test (Testar) para invocar a função.
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 acionadores.
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 manipulador que o Lambda chama quando a função é invocada. O runtime 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 manipulador é 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 runtime 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. Outras informações estão disponíveis de variáveis de ambiente.
Sua função do Lambda é fornecida com um grupo de logs do CloudWatch Logs. O runtime envia detalhes sobre cada invocação para o CloudWatch Logs. Ele retransmite quaisquer logs que sua função produz durante a invocação. Se a função retornar um erro, o Lambda formatará o erro e o retornará para o chamador.
Tópicos
- Definir o manipulador da função do Lambda em Java
- Implantar funções do Lambda em Java com arquivos .zip ou JAR
- Implantar funções do Lambda em Java com imagens de contêiner
- Como trabalhar com camadas para funções do Lambda em Java
- Aprimoramento da performance de inicialização com o Lambda SnapStart
- Personalização da serialização para funções do Lambda em Java
- Personalizar o comportamento de startup de runtime para as funções do Lambda
- Usar o objeto de contexto do Lambda para recuperar informações das funções em Java
- Registrar em log e monitorar funções do Lambda em Java
- Instrumentação do código Java no AWS Lambda
- Aplicativos de exemplo Java para o AWS Lambda