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 de Lambda mediante AWS SAM con CodeBuild Lambda Java
The AWS Serverless Application Model (AWS SAM) es un marco de código abierto para crear aplicaciones sin servidor. Para obtener más información, consulte el AWS Serverless Application Model repositorio
Configure su AWS SAM repositorio
Cree un AWS SAM Hello World proyecto mediante la AWS SAM CLI.
Para crear su AWS SAM Proyecto
-
Siga las instrucciones de la Guía para AWS Serverless Application Model desarrolladores para instalar la AWS SAM CLI en su máquina local.
-
Ejecute
sam inity 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> -
Cargue la carpeta AWS SAM del proyecto a un repositorio de código fuente compatible. Para obtener una lista de los tipos de fuentes compatibles, consulte ProjectSource.
Cree un proyecto de CodeBuild Lambda en Java
Cree un proyecto Java de AWS CodeBuild Lambda y configure los permisos de IAM necesarios para la compilación.
Para crear su proyecto CodeBuild Lambda Java
-
Abra la AWS CodeBuild consola en. https://console.aws.amazon.com/codesuite/codebuild/home
-
Si aparece una página de CodeBuild información, seleccione Crear proyecto de construcció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.
En Project name (Nombre de proyecto), escriba un nombre para este proyecto de compilación. Los nombres de los proyectos de construcción deben ser únicos en cada AWS cuenta. 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.
-
En Source, selecciona el repositorio de origen en el que se encuentra tu AWS SAM proyecto.
-
En Environment (Entorno):
-
En Computación, seleccione Lambda.
-
En Tiempo(s) de ejecución, seleccione Java.
-
En Imagen, selecciona aws/codebuild /amazonlinux-x86_64-lambda-standard:corretto21.
-
En Rol de servicio, seleccione Nuevo rol de servicio. Anote el Nombre del rol. Lo necesitará cuando actualice los permisos de IAM del proyecto más adelante en este ejemplo.
-
-
Elija Crear el proyecto de compilación.
-
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación, elija Roles y seleccione el rol de servicio asociado a su proyecto. Para encontrar tu rol en CodeBuild el proyecto, selecciona el proyecto de compilación, elige Editar, Entorno y, a continuación, el rol de servicio.
-
Elija la pestaña Relaciones de confianza y, a continuación, Editar política de confianza.
-
Agregue la siguiente política insertada al rol de IAM. Esto se usará para implementar tu AWS SAM infraestructura más adelante. Para obtener más información, consulta Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.
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 los comandos de compilación desde una especificación de compilación.
Para configurar la especificación de compilación del proyecto
-
En la CodeBuild consola, selecciona tu proyecto de compilación y, a continuación, elige Editar y Buildspec.
-
En Especificación de compilación, elija Insertar comandos de compilación y, a continuación, Cambiar al editor.
-
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 -
Seleccione Update buildspec (Actualizar buildspec).
Implementa tu AWS SAM Infraestructura Lambda
Use CodeBuild Lambda para implementar automáticamente su infraestructura Lambda
Para implementar su infraestructura de Lambda
-
Seleccione Iniciar la compilación. Esto compilará, probará e implementará automáticamente su AWS SAM aplicación para AWS Lambda usarla. CloudFormation
-
Una vez finalizada la compilación, navegue hasta la AWS Lambda consola y busque su nueva función de Lambda con el nombre del AWS SAM proyecto.
-
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 conexión 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 utilizó durante este tutorial, elimine los recursos creados por su AWS SAM plantilla y CodeBuild.
Para limpiar la infraestructura
-
Navegue hasta la CloudFormation consola y seleccione el
aws-sam-cli-managed-default. -
En Recursos, vacíe el bucket de implementación
SamCliSourceBucket. -
Elimine la pila de
aws-sam-cli-managed-default. -
Elimine la CloudFormation pila asociada a su AWS SAM proyecto. Esta pila debe tener el mismo nombre que tu AWS SAM proyecto.
-
Navega hasta la CloudWatch consola y elimina los grupos de CloudWatch registros asociados a tu CodeBuild proyecto.
-
Navega hasta la CodeBuild consola y elimina tu CodeBuild proyecto seleccionando Eliminar proyecto de compilación.