

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.

# Ejecute compilaciones en el AWS Lambda cómputo
<a name="lambda"></a>

AWS Lambda Compute ofrece velocidades de inicio optimizadas para sus compilaciones. AWS Lambda admite compilaciones más rápidas debido a una latencia de inicio más baja. AWS Lambda también se escala automáticamente, por lo que las compilaciones no tienen que hacer cola para ejecutarse. Sin embargo, hay algunos casos de uso que AWS Lambda no son compatibles y, si le afectan, utilice el procesamiento de EC2. Para obtener más información, consulte [Limitaciones de AWS Lambda cómputo](#lambda.limitations).

**Topics**
+ [¿Qué herramientas y entornos de tiempo de ejecución se incluyen en las imágenes de Docker del entorno de tiempo de ejecución seleccionado que se ejecuta en AWS Lambda?](#lambda.tools)
+ [¿Qué pasa si la imagen seleccionada no incluye las herramientas que necesito?](#lambda.custom)
+ [¿En qué regiones se admite la AWS Lambda computación? CodeBuild](#lambda.regions)
+ [Limitaciones de AWS Lambda cómputo](#lambda.limitations)
+ [Implemente una función Lambda con AWS SAM CodeBuild Lambda Java](sample-lambda-sam-gradle.md)
+ [Cree una aplicación React de una sola página con CodeBuild Lambda Node.js](sample-lambda-react-nodejs.md)
+ [Actualizar la configuración de una función Lambda con CodeBuild Lambda Python](sample-lambda-boto3-python.md)

## ¿Qué herramientas y entornos de tiempo de ejecución se incluyen en las imágenes de Docker del entorno de tiempo de ejecución seleccionado que se ejecuta en AWS Lambda?
<a name="lambda.tools"></a>

AWS Lambda admite las siguientes herramientas: AWS CLI v2, AWS SAM CLI, git, go, Java, Node.js, Python, pip, Ruby y.NET.

## ¿Qué pasa si la imagen seleccionada no incluye las herramientas que necesito?
<a name="lambda.custom"></a>

Si la imagen seleccionada no incluye las herramientas que necesita, puede proporcionar una imagen de Docker de entorno personalizado que sí las incluya.

**nota**  
Lambda no admite funciones que utilizan imágenes de contenedor de varias arquitecturas. Para obtener más información, consulte [Creación de una función de Lambda con una imagen de contenedor](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-reqs) en la *Guía para desarrolladores de AWS Lambda *.

Tenga en cuenta que necesita los siguientes permisos de Amazon ECR para utilizar imágenes personalizadas para la computación de Lambda:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage"
            ],
            "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/image-repo"
        }
    ]
}
```

------

Tenga en cuenta también que debe haber instalado `curl` o `wget` para poder utilizar imágenes personalizadas.

## ¿En qué regiones se admite la AWS Lambda computación? CodeBuild
<a name="lambda.regions"></a>

En CodeBuild, la AWS Lambda computación se admite en los siguientes lugares Regiones de AWS: EE.UU. Este (Norte de Virginia), EE.UU. Este (Ohio), EE.UU. Oeste (Oregón), Asia Pacífico (Bombay), Asia Pacífico (Singapur), Asia Pacífico (Sídney), Asia Pacífico (Tokio), Europa (Fráncfort), Europa (Irlanda) y Sudamérica (São Paulo). Para obtener más información sobre Regiones de AWS dónde CodeBuild está disponible, consulta [AWS Servicios por región](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/).

## Limitaciones de AWS Lambda cómputo
<a name="lambda.limitations"></a>

Hay algunos casos de uso que AWS Lambda no son compatibles y, si le afectan, utilice el procesamiento de EC2:
+ AWS Lambda no admite herramientas que requieren permisos de root. En el caso de herramientas como `yum` o `rpm`, utilice el tipo de computación EC2 u otras herramientas que no requieran permisos de root.
+ AWS Lambda no admite compilaciones ni ejecuciones de Docker.
+ AWS Lambda no admite la escritura en archivos externos`/tmp`. Los administradores de paquetes incluidos están configurados para usar el directorio `/tmp` de forma predeterminada para descargar paquetes y hacer referencia a ellos.
+ AWS Lambda no admite este tipo de entorno `LINUX_GPU_CONTAINER` y no es compatible con Windows Server Core 2019.
+ AWS Lambda no admite el almacenamiento en caché, los tiempos de espera de compilación personalizados, los tiempos de espera de cola, las insignias de compilación, el modo privilegiado, los entornos de ejecución personalizados ni los tiempos de ejecución de más de 15 minutos.
+ AWS Lambda no admite la conectividad de VPC, un rango fijo de direcciones IP de CodeBuild origen, EFS, certificados de instalación ni acceso SSH con Session Manager.

# Implemente una función Lambda con AWS SAM CodeBuild Lambda Java
<a name="sample-lambda-sam-gradle"></a>

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](https://github.com/aws/serverless-application-model) en. GitHub En el siguiente ejemplo de Java, se usa Gradle para crear y probar una AWS Lambda función. Después de lo cual, la AWS SAM CLI se usa para implementar la 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
<a name="sample-lambda-sam-gradle.set-up-repo"></a>

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](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) en su máquina local.

1. 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>
   ```

1. Cargue la carpeta AWS SAM del proyecto en un repositorio de código fuente compatible. Para obtener una lista de los tipos de fuentes compatibles, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Creación de un CodeBuild proyecto Java Lambda
<a name="sample-lambda-sam-gradle.create-project"></a>

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 AWS CodeBuild consola en [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  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**. 

1. En **Project name (Nombre de proyecto)**, escriba un nombre para este proyecto de compilación. Los nombres de los proyectos de compilació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.

1. En **Fuente**, selecciona el repositorio de origen en el que se encuentra tu AWS SAM proyecto.

1. En **Environment (Entorno)**:
   + En **Computación**, seleccione **Lambda**.
   + En **Tiempo(s) de ejecución**, seleccione **Java**.
   + En **Imagen**, seleccione **aws/codebuild/amazonlinux-x86\$164-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.

1. Elija **Crear el proyecto de compilación**.

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. En el panel de navegación, elija **Roles** y seleccione el rol de servicio asociado a su proyecto. ******Para encontrar su función en el proyecto, seleccione el proyecto de construcción, elija Edición, Entorno y, a continuación, la función CodeBuild de servicio.******

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

1. Agregue la siguiente política insertada al rol de IAM. Esto se utilizará para implementar su AWS SAM infraestructura más adelante. Para obtener más información, consulta [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*.

------
#### [ JSON ]

****  

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

------

## Configuración de la especificación de compilación del proyecto
<a name="sample-lambda-sam-gradle.set-up-buildspec"></a>

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 la especificación de compilación del proyecto**

1. ****En la CodeBuild consola, selecciona tu proyecto de compilación y, a continuación, selecciona Editar y Buildspec.****

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

1. 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
   ```

1. Seleccione **Update buildspec (Actualizar buildspec)**.

## Implemente su AWS SAM infraestructura Lambda
<a name="sample-lambda-sam-gradle.deploy"></a>

Utilice CodeBuild Lambda para implementar automáticamente su infraestructura Lambda

**Para implementar su infraestructura de Lambda**

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

1. 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.

1. 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
<a name="sample-lambda-sam-gradle.clean-up"></a>

Para evitar que se le cobre más por los recursos que utilizó durante este tutorial, elimine los recursos creados por la AWS SAM plantilla y CodeBuild.

**Para limpiar la infraestructura**

1. Navegue hasta la CloudFormation consola y seleccione`aws-sam-cli-managed-default`.

1. En **Recursos**, vacíe el bucket de implementación `SamCliSourceBucket`.

1. Elimine la pila de `aws-sam-cli-managed-default`.

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

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

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

# Cree una aplicación React de una sola página con CodeBuild Lambda Node.js
<a name="sample-lambda-react-nodejs"></a>

[Create React App](https://create-react-app.dev/) es una forma de crear aplicaciones React de una sola página. El siguiente ejemplo de Node.js lo utiliza para compilar los artefactos de origen desde Create React App y devuelve los artefactos de compilación.

## Configuración del repositorio de origen y el bucket de artefactos
<a name="sample-lambda-react-nodejs.set-up-repo"></a>

Cree un repositorio de origen para su proyecto con yarn y Create React App.

**Para configurar el repositorio de origen y el bucket de artefactos**

1. Ejecute `yarn create react-app <app-name>` en su máquina local para crear una aplicación React sencilla.

1. Cargue la carpeta del proyecto de la aplicación React en un repositorio de origen admitido. Para obtener una lista de los tipos de fuentes compatibles, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Crear un proyecto CodeBuild Lambda Node.js
<a name="sample-lambda-react-nodejs.create-project"></a>

Cree un AWS CodeBuild proyecto Lambda Node.js.

**Para crear su proyecto CodeBuild Lambda Node.js**

1. Abra la AWS CodeBuild consola en [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  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**. 

1. En **Project name (Nombre de proyecto)**, escriba un nombre para este proyecto de compilación. Los nombres de los proyectos de compilació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.

1. En **Fuente**, selecciona el repositorio de origen en el que se encuentra tu AWS SAM proyecto.

1. En **Environment (Entorno)**:
   + En **Computación**, seleccione **Lambda**.
   + En **Tiempo(s) de ejecución**, seleccione **Node.js**.
   + En **Imagen**, selecciona **aws/codebuild/amazonlinux-x86\$164-lambda-standard:nodejs20**.

1. En **Artifacts (Artefactos)**:
   + En **Tipo**, seleccione **Amazon S3**.
   + En **Nombre del bucket**, seleccione el bucket de artefactos del proyecto que ha creado anteriormente.
   + En **Empaquetado de artefactos**, seleccione **Zip**.

1. Elija **Crear el proyecto de compilación**.

## Configuración de la especificación de compilación del proyecto
<a name="sample-lambda-react-nodejs.set-up-buildspec"></a>

Para crear tu aplicación React, lee y ejecuta los comandos de compilación desde un archivo buildspec. CodeBuild 

**Para configurar la especificación de compilación del proyecto**

1. ****En la CodeBuild consola, selecciona tu proyecto de compilación y, a continuación, selecciona Editar y Buildspec.****

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

1. Elimine los comandos de compilación rellenados previamente y pegue la siguiente especificación de compilación.

   ```
   version: 0.2
   phases:
     build:
       commands:
         - yarn
         - yarn add --dev jest-junit @babel/plugin-proposal-private-property-in-object
         - yarn run build
         - yarn run test -- --coverage --watchAll=false --testResultsProcessor="jest-junit" --detectOpenHandles
   artifacts:
     name: "build-output"
     files:
       - "**/*"
   reports:
     test-report:
       files:
         - 'junit.xml'
       file-format: 'JUNITXML'
     coverage-report:
       files:
         - 'coverage/clover.xml'
       file-format: 'CLOVERXML'
   ```

1. Seleccione **Update buildspec (Actualizar buildspec)**.

## Compilación y ejecución de la aplicación React
<a name="sample-lambda-react-nodejs.build"></a>

Cree la aplicación React en CodeBuild Lambda, descargue los artefactos de compilación y ejecute la aplicación React localmente.

**Para compilar y ejecutar su aplicación React**

1. Seleccione **Iniciar la compilación**.

1. Una vez finalizada la compilación, navegue hasta el bucket de artefactos del proyecto de Amazon S3 y descargue el artefacto de la aplicación React.

1. Descomprima el artefacto de compilación de React y ejecute `run npm install -g serve && serve -s build` en la carpeta del proyecto.

1. El comando `serve` ofrecerá el sitio estático en un puerto local e imprimirá la salida en su terminal. Puede visitar la URL de localhost en `Local:` en la salida del terminal para ver su aplicación React.

Para obtener más información sobre cómo controlar la implementación de un servidor basado en React, consulte [Create React App Deployment](https://create-react-app.dev/docs/deployment/).

## Limpieza de la infraestructura
<a name="sample-lambda-react-nodejs.clean-up"></a>

Para evitar cargos adicionales por los recursos que utilizó durante este tutorial, elimine los recursos creados para su CodeBuild proyecto.

**Para limpiar la infraestructura**

1. Eliminación del bucket de Amazon S3 de artefactos del proyecto

1. Navegue a la CloudWatch consola y elimine los grupos de CloudWatch registros asociados a su CodeBuild proyecto.

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

# Actualizar la configuración de una función Lambda con CodeBuild Lambda Python
<a name="sample-lambda-boto3-python"></a>

En el siguiente ejemplo de Python, se utilizan [Boto3](https://aws.amazon.com/sdk-for-python/) y Lambda CodeBuild Python para actualizar la configuración de una función Lambda. Este ejemplo se puede ampliar para gestionar otros recursos mediante programación. AWS Para obtener más información, consulte la [documentación de Boto3](https://aws.amazon.com/sdk-for-python/).

## Requisitos previos
<a name="sample-lambda-boto3-python.prerequisites"></a>

Cree o busque una función de Lambda en su cuenta.

En este ejemplo se supone que ya ha creado una función Lambda en su cuenta y que la utilizará CodeBuild para actualizar las variables de entorno de la función Lambda. Para obtener más información sobre cómo configurar una función Lambda mediante CodeBuild, consulte el [Implemente una función Lambda con AWS SAM CodeBuild Lambda Java](sample-lambda-sam-gradle.md) ejemplo o visite. [AWS Lambda](https://aws.amazon.com/lambda/)

## Configuración del repositorio de origen
<a name="sample-lambda-boto3-python.set-up-repo"></a>

Cree un repositorio de origen para almacenar su script de Boto3 para Python.

**Para configurar el repositorio de origen**

1. Copie el siguiente script de Python en un archivo nuevo denominado `update_lambda_environment_variables.py`.

   ```
   import boto3
   from os import environ
   
   
   def update_lambda_env_variable(lambda_client):
       lambda_function_name = environ['LAMBDA_FUNC_NAME']
       lambda_env_variable = environ['LAMBDA_ENV_VARIABLE']
       lambda_env_variable_value = environ['LAMBDA_ENV_VARIABLE_VALUE']
       print("Updating lambda function " + lambda_function_name + " environment variable "
             + lambda_env_variable + " to " + lambda_env_variable_value)
       lambda_client.update_function_configuration(
           FunctionName=lambda_function_name,
           Environment={
               'Variables': {
                   lambda_env_variable: lambda_env_variable_value
               }
           },
       )
   
   
   if __name__ == "__main__":
       region = environ['AWS_REGION']
       client = boto3.client('lambda', region)
       update_lambda_env_variable(client)
   ```

1. Cargue el archivo de python a un repositorio de origen compatible. Para obtener una lista de los tipos de fuentes compatibles, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html).

## Crear un proyecto de CodeBuild Python Lambda
<a name="sample-lambda-boto3-python.create-project"></a>

Cree un proyecto de CodeBuild Python Lambda.

**Para crear su proyecto CodeBuild Lambda Java**

1. Abra la AWS CodeBuild consola en [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1.  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**. 

1. En **Project name (Nombre de proyecto)**, escriba un nombre para este proyecto de compilación. Los nombres de los proyectos de compilació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.

1. En **Fuente**, selecciona el repositorio de origen en el que se encuentra tu AWS SAM proyecto.

1. En **Environment (Entorno)**:
   + En **Computación**, seleccione **Lambda**.
   + En **Tiempo(s) de ejecución**, elija **Python**.
   + En **Imagen**, selecciona **aws/codebuild/amazonlinux-x86\$164-lambda-standard:python3.12**.
   + 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.

1. Elija **Crear el proyecto de compilación**.

1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. En el panel de navegación, elija **Roles** y seleccione el rol de servicio asociado a su proyecto. ******Para encontrar su función en el proyecto, seleccione el proyecto de construcción, elija Edición, Entorno y, a continuación, la función de servicio CodeBuild .******

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

1. Agregue la siguiente política insertada al rol de IAM. Esto se utilizará para implementar su AWS SAM infraestructura más adelante. Para obtener más información, consulta [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "UpdateLambdaPermissions",
               "Effect": "Allow",
               "Action": [
                   "lambda:UpdateFunctionConfiguration"
               ],
               "Resource": [
                   "*"
               ]
           }
       ]
   }
   ```

------

## Configuración de la especificación de compilación del proyecto
<a name="sample-lambda-boto3-python.set-up-buildspec"></a>

Para actualizar la función de Lambda, el script lee las variables de entorno de la especificación de compilación y busca el nombre de la función de Lambda, el nombre de la variable de entorno y el valor de la variable de entorno.

**Para configurar la especificación de compilación del proyecto**

1. En la CodeBuild consola, selecciona tu proyecto de compilación y, a continuación, selecciona **Editar** y **Buildspec**.

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

1. Elimine los comandos de compilación rellenados previamente y pegue la siguiente especificación de compilación.

   ```
   version: 0.2
   env:
     variables:
       LAMBDA_FUNC_NAME: "<lambda-function-name>"
       LAMBDA_ENV_VARIABLE: "FEATURE_ENABLED"
       LAMBDA_ENV_VARIABLE_VALUE: "true"
   phases:
     install:
       commands:
          - pip3 install boto3
     build:
       commands:
          - python3 update_lambda_environment_variables.py
   ```

1. Seleccione **Update buildspec (Actualizar buildspec)**.

## Actualización de la configuración de Lambda
<a name="sample-lambda-boto3-python.update"></a>

Utilice CodeBuild Lambda Python para actualizar automáticamente la configuración de la función Lambda.

**Para actualizar la configuración de la función de Lambda**

1. Seleccione **Iniciar la compilación**.

1. Una vez finalizada la compilación, navegue hasta su función de Lambda.

1. Seleccione **Configuración** y, a continuación, elija las variables de **Entorno**. Debería aparecer una nueva variable de entorno con la clave `FEATURE_ENABLED` y el valor `true`.

## Limpieza de la infraestructura
<a name="sample-lambda-boto3-python.clean-up"></a>

Para evitar cargos adicionales por los recursos que utilizó durante este tutorial, elimine los recursos creados para su CodeBuild proyecto.

**Para limpiar la infraestructura**

1. Navegue a la CloudWatch consola y elimine los grupos de CloudWatch registros asociados a su CodeBuild proyecto.

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

1. Si ha creado una función de Lambda para usarla en este ejemplo, elija **Acciones** y **Eliminar la función** para limpiar la función de Lambda.

## Extensiones
<a name="sample-lambda-boto3-python.extensions"></a>

Si desea ampliar este ejemplo para gestionar otros AWS recursos mediante AWS CodeBuild Lambda Python:
+ Actualice el script de Python para modificar los nuevos recursos con Boto3.
+ Actualice la función de IAM asociada a su CodeBuild proyecto para tener permisos para los nuevos recursos.
+ Agregue cualquier variable de entorno nueva asociada a los nuevos recursos a su especificación de compilación.