Implemente una función Lambda con AWS SAM CodeBuild Lambda Java - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Implemente una función Lambda con AWS SAM CodeBuild Lambda Java

AWS Serverless Application Model (AWS SAM) es un marco de trabajo de código abierto para crear aplicaciones sin servidor. Para obtener más información, consulte el AWS Serverless Application Modelrepositorio en. GitHub En el ejemplo de Java siguiente, se usa Gradle para compilar y probar una función de AWS Lambda. Después de lo cual, la AWS SAM CLI se usa para implementar la AWS CloudFormation plantilla y el paquete de implementación. Al usar CodeBuild Lambda, los pasos de compilación, prueba e implementación se gestionan automáticamente, lo que permite que la infraestructura se actualice rápidamente sin intervención manual en una sola compilación.

Configure su repositorio AWS SAM

Cree un AWS SAM Hello World proyecto mediante la AWS SAM CLI.

Para crear su AWS SAM proyecto
  1. Siga las instrucciones de la Guía del AWS Serverless Application Model desarrollador para instalar la AWS SAM CLI en su máquina local.

  2. Ejecute sam init y seleccione la siguiente configuración de proyecto.

    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. Cargue la carpeta AWS SAM del proyecto en un repositorio de origen compatible. Para obtener una lista de los tipos de fuentes compatibles, consulte ProjectSource.

Creación de un CodeBuild proyecto Java Lambda

Cree un proyecto Java AWS CodeBuild Lambda y configure los permisos de IAM necesarios para la compilación.

Para crear su proyecto CodeBuild Lambda Java
  1. Abra la consola de AWS CodeBuild en https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Si aparece una página de CodeBuild información, elija Crear proyecto de compilación. De lo contrario, en el panel de navegación, expanda Compilar, elija Proyectos de compilación y, a continuación, elija Crear proyecto de compilación.

  3. En Project name (Nombre de proyecto), escriba un nombre para este proyecto de compilación. Los nombres de los proyectos de compilación debe ser únicos en cada cuenta de AWS. También puede introducir una descripción opcional del proyecto de compilación para ayudar a otros usuarios a entender para qué se utiliza el proyecto.

  4. En Fuente, seleccione el repositorio de origen en el que se encuentra el AWS SAM proyecto.

  5. En Environment (Entorno):

    • Para Compute, selecciona Lambda.

    • Para Runtime (s), selecciona Java.

    • En Imagen, seleccione aws/codebuild/amazonlinux-x86_64-lambda-standard:corretto21.

    • En Función de servicio, deje seleccionada Nueva función de servicio. Anote el nombre del rol. Será necesario cuando actualice los permisos de IAM del proyecto más adelante en este ejemplo.

  6. Elija Crear el proyecto de compilación.

  7. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  8. En el panel de navegación, elija Funciones y seleccione la función de servicio asociada a su proyecto. Para encontrar su función en el proyecto, seleccione CodeBuild el proyecto de construcción, elija Edición, Entorno y, a continuación, la función de servicio.

  9. Elija la pestaña Relaciones de confianza y, a continuación, Editar política de confianza.

  10. Añada la siguiente política en línea a su función de IAM. Esto se utilizará para implementar su AWS SAM infraestructura más adelante. Para más información, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM de .

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

Configure el proyecto: buildspec

Para crear, probar e implementar la función Lambda, CodeBuild lee y ejecuta los comandos de compilación desde una especificación de compilación.

Para configurar su proyecto, buildspec
  1. En la CodeBuild consola, selecciona tu proyecto de compilación y, a continuación, selecciona Editar y Buildspec.

  2. En Buildspec, selecciona Insertar comandos de compilación y, a continuación, Cambiar al editor.

  3. Elimine los comandos de compilación preconfigurados y pegue la siguiente especificación de compilación.

    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. Seleccione Update buildspec (Actualizar buildspec).

Implemente su AWS SAM infraestructura Lambda

Utilice CodeBuild Lambda para implementar automáticamente su infraestructura Lambda

Para implementar su infraestructura Lambda
  1. Seleccione Iniciar la compilación. Esto creará, probará e implementará automáticamente la AWS SAM aplicación para AWS Lambda AWS CloudFormation utilizarla.

  2. Una vez finalizada la compilación, diríjase a la AWS Lambda consola y busque la nueva función Lambda en el nombre del AWS SAM proyecto.

  3. Pruebe su función Lambda seleccionando API Gateway en la descripción general de la función y, a continuación, haciendo clic en la URL del punto de enlace de la API. Debería ver una página abierta con el mensaje"message": "hello world".

Limpie su infraestructura

Para evitar cargos adicionales por los recursos que utilizó durante este tutorial, elimine los recursos creados por su AWS SAM plantilla y CodeBuild.

Para limpiar su infraestructura
  1. Navegue hasta la AWS CloudFormation consola y seleccioneaws-sam-cli-managed-default.

  2. En Recursos, vacíe el depósito de despliegueSamCliSourceBucket.

  3. Elimine la pila de aws-sam-cli-managed-default.

  4. Elimina la AWS CloudFormation pila asociada a tu AWS SAM proyecto. Esta pila debe tener el mismo nombre que tu AWS SAM proyecto.

  5. Ve a la CloudWatch consola y elimina los grupos de CloudWatch registros asociados a tu CodeBuild proyecto.

  6. Ve a la CodeBuild consola y elimina tu CodeBuild proyecto seleccionando Eliminar proyecto de compilación.