Implemente uma função Lambda usando o AWS SAM CodeBuild Lambda Java - AWS CodeBuild

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implemente uma função Lambda usando o AWS SAM CodeBuild Lambda Java

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 AWS Serverless Application Modelrepositório em. GitHub O exemplo de Java a seguir usa o Gradle para criar e testar uma função do AWS Lambda. Depois disso, a AWS SAM CLI é usada para implantar o AWS CloudFormation modelo e o pacote de implantação. Ao usar o CodeBuild Lambda, as etapas de construçã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 seu AWS SAM repositório

Crie um AWS SAM Hello World projeto usando a AWS SAM CLI.

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

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

    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. Carregue a pasta AWS SAM do projeto em um repositório de origem compatível. Para obter uma lista dos tipos de fonte compatíveis, consulte ProjectSource.

Crie um projeto CodeBuild Lambda Java

Crie um projeto AWS CodeBuild Lambda Java e configure as permissões do IAM necessárias para a construçã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 CodeBuild informações for exibida, escolha Criar projeto de construçã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 Project name (Nome do projeto), insira um nome para esse projeto de compilação. Os nomes de projeto de build devem ser únicos em cada conta 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 Código-fonte, selecione o repositório de origem em que seu AWS SAM projeto está localizado.

  5. Em Environment (Ambiente):

    • Para Computação, selecione Lambda.

    • Em Tempo de execução (s), selecione Java.

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

    • Em Função de serviço, deixe a opção Nova função 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 nesta amostra.

  6. Selecione Create build project (Criar projeto de compilação).

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

  8. No painel de navegação, escolha Funções e selecione a função de serviço associada ao seu projeto. Você pode encontrar sua função de projeto em CodeBuild selecionando seu projeto de compilação, escolhendo Editar, Ambiente e, em seguida, Função de serviço.

  9. Escolha a guia Trust relationships (Relacionamentos de confiança) e, em seguida, escolha Edit trust policy (Editar política de confiança).

  10. Adicione a seguinte política em linha à sua função do IAM. Isso será usado para implantar sua AWS SAM infraestrutura 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 criar, testar e implantar sua função Lambda, CodeBuild lê e executa comandos de compilação a partir de um buildspec.

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

  2. No Buildspec, escolha Inserir comandos de compilação e, em seguida, Alternar para o 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 Update buildspec (Atualizar buildspec).

Implemente sua infraestrutura AWS SAM Lambda

Use o CodeBuild Lambda para implantar automaticamente sua infraestrutura Lambda

Para implantar sua infraestrutura Lambda
  1. Selecione Start build. Isso criará, testará e implantará automaticamente seu AWS SAM aplicativo para AWS Lambda usoAWS CloudFormation.

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

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

Limpe sua infraestrutura

Para evitar cobranças adicionais pelos recursos que você usou durante este tutorial, exclua os recursos criados pelo seu AWS SAM modelo CodeBuild e.

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

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

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

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

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

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