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

Actualización de la configuración de una función de Lambda con CodeBuild Lambda Python

Modo de enfoque
Actualización de la configuración de una función de Lambda con CodeBuild Lambda Python - AWS CodeBuild

En el siguiente ejemplo de Python se utilizan Boto3 y CodeBuild Lambda Python para actualizar la configuración de una función de Lambda. Este ejemplo puede ampliarse para administrar otros recursos de AWS mediante programación. Para obtener más información, consulte la documentación de Boto3.

Requisitos previos

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

En este ejemplo se supone que ya ha creado una función de Lambda en su cuenta y que va a usar CodeBuild para actualizar las variables de entorno de la función de Lambda. Para obtener más información sobre cómo configurar una función de Lambda mediante CodeBuild, consulte el ejemplo Implementación de una función de Lambda mediante AWS SAM con CodeBuild Lambda Java o visite AWS Lambda.

Configuración del repositorio de origen

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)
  2. Cargue el archivo de python a un repositorio de origen compatible. Para obtener una lista de los tipos de origen admitidos, consulte ProjectSource.

Creación de un proyecto de CodeBuild Lambda Python

Cree un proyecto de CodeBuild Lambda Python.

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, elija Python.

    • En Imagen, seleccione aws/codebuild/amazonlinux-x86_64-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.

  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": "UpdateLambdaPermissions", "Effect": "Allow", "Action": [ "lambda:UpdateFunctionConfiguration" ], "Resource": [ "*" ] } ] }

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

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

Actualización de la configuración de Lambda

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

Para actualizar la configuración de la función de Lambda
  1. Seleccione Iniciar la compilación.

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

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

Para evitar cargos adicionales por los recursos que ha utilizado durante este tutorial, elimine los recursos creados para el proyecto de CodeBuild.

Para limpiar la infraestructura
  1. Desplácese a la consola de CloudWatch y elimine los grupos de registro de CloudWatch asociados a su proyecto de CodeBuild.

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

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

Si quiere ampliar este ejemplo para administrar otros recursos de AWS mediante AWS CodeBuild Lambda Python:

  • Actualice el script de Python para modificar los nuevos recursos con Boto3.

  • Actualice el rol de IAM asociado a su proyecto de CodeBuild de forma que tenga permisos para los nuevos recursos.

  • Agregue cualquier variable de entorno nueva asociada a los nuevos recursos a su especificación de compilación.

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