Como trabalhar com camadas para funções do Lambda em Java
Use camadas do Lambda para empacotar o código e as dependências que você quiser reutilizar em várias funções. As camadas geralmente contêm dependências de biblioteca, um runtime personalizado ou arquivos de configuração. A criação de uma camada envolve três etapas gerais:
Empacotar o conteúdo da sua camada. Isso significa criar um arquivo .zip contendo as dependências que você deseja usar em suas funções.
Para criar uma camada, reúna os pacotes em um arquivo .zip que atenda aos seguintes requisitos:
Certifique-se de que a versão Java à qual o Maven ou Gradle se refere seja a mesma versão Java da função que você pretende implantar. Por exemplo, para uma função em Java 25, o comando mvn -v deverá listar o Java 25 na saída.
Os pacotes da camada devem ser compatíveis com o Linux. As funções do Lambda são executadas no Amazon Linux.
Você pode criar camadas que contenham bibliotecas Java de terceiros ou seus próprios módulos e pacotes Java. O procedimento a seguir utiliza o Maven. Também é possível utilizar o Gradle para empacotar o conteúdo da camada.
Para criar uma camada com dependências do Maven
Crie um projeto Apache Maven com um arquivo pom.xml que defina suas dependências.
O exemplo abaixo inclui Jackson Databind para processamento JSON. A seção usa maven-dependency-plugin para criar arquivos JAR distintos para cada dependência, em vez de os agrupar em um único uber-jar. Se quiser criar um uber-jar, use maven-shade-plugin.
Garanta que o arquivo .zip inclua o diretório java no nível raiz com lib dentro dele. Essa estrutura garante que o Lambda consiga localizar e importar suas bibliotecas. Cada dependência é mantida como um arquivo JAR distinto, em vez de serem agrupadas em um uber-jar.
Criar a camada no Lambda
Você pode publicar a camada usando a AWS CLI ou o console do Lambda.
O parâmetro runtimes compatíveis é opcional. Quando especificado, o Lambda usa esse parâmetro para filtrar camadas no console do Lambda.
Console
Para criar uma camada (console)
Abra a página Layers (Camadas) do console do Lambda.
Escolha Criar camada.
Escolha Carregar um arquivo .zip e depois carregue o arquivo .zip que você criou anteriormente.
(Opcional) Para ver quais são os runtimes compatíveis, escolha o runtime Java que corresponde à versão do Java que você usou para criar a camada.
Escolha Criar.
Adicionar a camada à função
AWS CLI
Para anexar a camada à função, execute o comando da AWS CLI update-function-configuration . Para o parâmetro --layers use o ARN da camada. O ARN deve especificar a versão (por exemplo, arn:aws:lambda:us-east-1:123456789012:layer:my-layer:1). Para obter mais informações, consulte Camadas e versões da camada.
A opção cli-binary-format será necessária se você estiver usando a AWS CLI versão 2. Para que essa seja a configuração padrão, execute aws configure set cli-binary-format raw-in-base64-out. Para obter mais informações, consulte A AWS CLI comporta opções de linha de comando globais no Guia do usuário da AWS Command Line Interface versão 2.