Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Implementación de una función de Lambda mediante AWS SAM con CodeBuild Lambda Java

Modo de enfoque
Implementación de una función de Lambda mediante AWS SAM con CodeBuild Lambda Java - AWS CodeBuild

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 repositorio de AWS Serverless Application Model en GitHub. En el ejemplo de Java siguiente, se usa Gradle para compilar y probar una función de AWS Lambda. Después de esto, se utiliza la CLI de AWS SAM para implementar la plantilla y la agrupación de implementación de AWS CloudFormation. Al usar CodeBuild Lambda, los pasos de compilación, prueba e implementación se controlan de forma automática, lo que permite actualizar la infraestructura de forma rápida y sin intervención manual en una sola compilación.

Configuración del repositorio de AWS SAM

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

Para crear su proyecto de AWS SAM
  1. Siga las instrucciones de la Guía para desarrolladores de AWS Serverless Application Model para la Instalación de la CLI de AWS SAM en su máquina local.

  2. Ejecute sam init y seleccione la siguiente configuración del 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 del proyecto de AWS SAM en un repositorio de origen admitido. Para obtener una lista de los tipos de origen admitidos, consulte ProjectSource.

Creación de un proyecto de CodeBuild Lambda Java

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

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

  2. Si se muestra una página de información de CodeBuild, 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 Origen, seleccione el repositorio de origen en el que se encuentra su proyecto de AWS SAM.

  5. En Environment (Entorno):

    • En Computación, seleccione Lambda.

    • En Tiempo(s) de ejecución, seleccione Java.

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

    • En Rol de servicio, seleccione Nuevo rol de servicio. Anote el Nombre del rol. Esto 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 Roles y seleccione el rol de servicio asociado a su proyecto. Para encontrar su rol de proyecto en CodeBuild, seleccione su proyecto de compilación, elija Editar, Entorno y, después, Rol de servicio.

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

  10. Agregue la siguiente política insertada al rol de IAM. Este se usará para implementar su infraestructura de AWS SAM 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.

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

Configuración de la especificación de compilación del proyecto

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

Para configurar la especificación de compilación del proyecto
  1. En la consola de CodeBuild, seleccione su proyecto de compilación y, a continuación, elija Editar y Especificación de compilación.

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

  3. Elimine los comandos de compilación rellenados previamente 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).

Implementación de su infraestructura de Lambda de AWS SAM

Uso de CodeBuild Lambda para implementar su infraestructura de Lambda de forma automática

Para implementar su infraestructura de Lambda
  1. Seleccione Iniciar la compilación. Al hacerlo, se creará, probará e implementará la aplicación de AWS SAM en AWS Lambda mediante AWS CloudFormation.

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

  3. Pruebe la función de Lambda; para ello, seleccione API Gateway en la información general de Función y, a continuación, haga clic en la URL de Punto de enlace de API. Debería aparecer una página abierta con el mensaje "message": "hello world".

Limpieza de la infraestructura

Para evitar cargos adicionales por los recursos que ha utilizado durante este tutorial, elimine los recursos creados por la plantilla de AWS SAM y CodeBuild.

Para limpiar la infraestructura
  1. Navegue hasta la consola de AWS CloudFormation y seleccione aws-sam-cli-managed-default.

  2. En Recursos, vacíe el bucket de implementación SamCliSourceBucket.

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

  4. Elimine la pila de AWS CloudFormation asociada a su proyecto de AWS SAM. Esta pila debe tener el mismo nombre que el proyecto de AWS SAM.

  5. Desplácese a la consola de CloudWatch y elimine los grupos de registro de CloudWatch asociados a su proyecto de CodeBuild.

  6. Desplácese a la consola de CodeBuild y elija Eliminar el proyecto de compilación para eliminar su proyecto de CodeBuild.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.