Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Implantar uma função do Lambda usando o AWS SAM com CodeBuild Lambda Java

Modo de foco
Implantar uma função do Lambda usando o AWS SAM com CodeBuild Lambda Java - AWS CodeBuild

O AWS Serverless Application Model (AWS SAM) é um framework de código aberto para a criação de aplicações sem servidor. Para obter mais informações, consulte o repositório do AWS Serverless Application Model no GitHub. O exemplo de Java a seguir usa o Gradle para criar e testar uma função do AWS Lambda. Depois disso, a CLI do AWS SAM é usada para implantar o modelo do AWS CloudFormation e o pacote de implantação. Ao usar o CodeBuild Lambda, as etapas de compilação, teste e implantação são todas gerenciadas automaticamente, permitindo que a infraestrutura seja atualizada rapidamente sem intervenção manual em uma única compilação.

Configurar o repositório do AWS SAM

Criar um projeto Hello World do AWS SAM usando a CLI do AWS SAM.

Para criar seu projeto do AWS SAM
  1. Siga as instruções no Guia do desenvolvedor do AWS Serverless Application Model para instalar a CLI do AWS SAM na máquina local.

  2. Execute sam init e selecione a configuração de projeto a seguir.

    Which template source would you like to use?: 1 - AWS Quick Start Templates Choose an AWS Quick Start application template: 1 - Hello World Example Use the most popular runtime and package type? (Python and zip) [y/N]: N Which runtime would you like to use?: 8 - java21 What package type would you like to use?: 1 - Zip Which dependency manager would you like to use?: 1 - gradle Would you like to enable X-Ray tracing on the function(s) in your application? [y/N]: N Would you like to enable monitoring using CloudWatch Application Insights? [y/N]: N Would you like to set Structured Logging in JSON format on your Lambda functions? [y/N]: N Project name [sam-app]: <insert project name>
  3. Faça upload da pasta do AWS SAM do projeto em um repositório de origem compatível. Para obter uma lista dos tipos de origem compatíveis, consulte ProjectSource.

Criar um projeto CodeBuild Lambda Java

Crie um projeto do AWS CodeBuild Lambda Java e configure as permissões do IAM necessárias para a compilação.

Para criar seu projeto CodeBuild Lambda Java
  1. Abra o console do AWS CodeBuild em https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Se uma página de informações do CodeBuild for exibida, selecione Criar projeto de compilação. Caso contrário, no painel de navegação, expanda Compilar, escolha Projetos de compilação e, depois, Criar projeto de compilação.

  3. Em Nome do projeto, insira um nome para esse projeto de compilação. Os nomes de projeto de compilação devem ser únicos em cada conta da AWS. Também é possível incluir uma descrição opcional do projeto de compilação para ajudar outros usuários a entender para que esse projeto é usado.

  4. Em Origem, selecione o repositório de origem em que o projeto do AWS SAM está localizado.

  5. Em Ambiente:

    • Para Computação, selecione Lambda.

    • Em Runtime(s), selecione Java.

    • Em Imagem, selecione aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto21.

    • Em Perfil de serviço, deixe a opção Novo perfil de serviço selecionada. Anote o nome da função. Isso será necessário quando você atualizar as permissões do IAM do projeto posteriormente neste exemplo.

  6. Selecione Criar projeto de compilação.

  7. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  8. No painel de navegação, escolha Funções e selecione o perfil de serviço associado ao projeto. Você pode encontrar o perfil do projeto no CodeBuild selecionando o projeto de compilação, escolhendo Editar, Ambiente e, em seguida, Perfil de serviço.

  9. Escolha a guia Relacionamentos de confiança e, em seguida, escolha Editar política de confiança.

  10. Adicione a seguinte política em linha ao perfil do IAM. Isso será usado para implantar sua infraestrutura do AWS SAM posteriormente. Para obter mais informações, consulte Adicionar e remover permissões de identidade do IAM no Guia do usuário do IAM.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "cloudformation:*", "lambda:*", "iam:*", "apigateway:*", "s3:*" ], "Resource": [ "*" ] } ] }

Configurar o buildspec do projeto

Para compilar, testar e implantar a função do Lambda, o CodeBuild lê e executa comandos de compilação a partir de um buildspec.

Para configurar o buildspec do projeto
  1. No console do CodeBuild, selecione o projeto de compilação e escolha Editar e Buildspec.

  2. Em Buildspec, escolha Inserir comandos de compilação e, em seguida, escolha Alternar para editor.

  3. Exclua os comandos de compilação pré-preenchidos e cole o seguinte buildspec.

    version: 0.2 env: variables: GRADLE_DIR: "HelloWorldFunction" phases: build: commands: - echo "Running unit tests..." - cd $GRADLE_DIR; gradle test; cd .. - echo "Running build..." - sam build --template-file template.yaml - echo "Running deploy..." - sam package --output-template-file packaged.yaml --resolve-s3 --template-file template.yaml - yes | sam deploy
  4. Selecione Atualizar buildspec.

Implantar a infraestrutura Lambda AWS SAM

Usar o CodeBuild Lambda para implantar automaticamente a infraestrutura do Lambda

Para implantar a infraestrutura do Lambda
  1. Selecione Iniciar compilação. Isso compilará, testará e implantará automaticamente a aplicação AWS SAM para o AWS Lambda usando o AWS CloudFormation.

  2. Quando a compilação estiver concluída, navegue até o console do AWS Lambda e pesquise a nova função do Lambda sob o nome do projeto AWS SAM.

  3. Teste a função do Lambda selecionando API Gateway na visão geral da Função e clicando no URL do endpoint de API. Você deve ver uma página aberta com a mensagem "message": "hello world".

Limpar a infraestrutura

Para evitar cobranças adicionais pelos recursos usados durante este tutorial, exclua os recursos criados pelo modelo AWS SAM e o CodeBuild.

Para limpar a infraestrutura
  1. Navegue até o console do AWS CloudFormation selecione o aws-sam-cli-managed-default.

  2. Em Recursos, esvazie o bucket de implantação SamCliSourceBucket.

  3. Exclua a pilha aws-sam-cli-managed-default.

  4. Exclua a pilha do AWS CloudFormation associada ao projeto do AWS SAM. Esta pilha deve ter o mesmo nome que o projeto AWS SAM.

  5. Navegue até o console do CloudWatch e exclua os grupos de log do CloudWatch associados ao projeto do CodeBuild.

  6. Navegue até o console do CodeBuild e exclua o projeto do CodeBuild escolhendo Excluir projeto de compilação.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.