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

Modificación del entorno de tiempo de ejecución

Modo de enfoque
Modificación del entorno de tiempo de ejecución - AWS Lambda

Puede utilizar extensiones internas para modificar el proceso de tiempo de ejecución. Las extensiones internas no son procesos independientes, se ejecutan como parte del proceso de tiempo de ejecución.

Lambda proporciona específica variables de entorno específicas del lenguaje que puede configurar para agregar opciones y herramientas al tiempo de ejecución. Lambda también proporciona scripts de encapsulador, que permiten a Lambda delegar el inicio del tiempo de ejecución a su script. Puede crear un script de encapsulador para personalizar el comportamiento de inicio del tiempo de ejecución.

Variables de entorno específicas del lenguaje

Lambda admite formas de solo configuración para habilitar la precarga del código durante la inicialización de la función a través de las siguientes variables de entorno específicas del lenguaje:

  • JAVA_TOOL_OPTIONS: en Java, Lambda admite esta variable de entorno para establecer variables de línea de comandos adicionales en Lambda. Esta variable de entorno le permite especificar la inicialización de herramientas, específicamente el lanzamiento de agentes de lenguaje de programación nativo o Java utilizando las opciones agentlib o javaagent. Para obtener más información, consulte la variable de entorno de JAVA_TOOL_OPTIONS.

  • NODE_OPTIONS: disponible en los tiempos de ejecución de Node.js.

  • DOTNET_STARTUP_HOOKS: en .NET Core 3.1 y superior, esta variable de entorno especifica una ruta a un ensamblado (dll) que Lambda puede usar.

El uso de variables de entorno específicas del lenguaje es la forma preferida de establecer propiedades de inicio.

Scripts de encapsulador

Puede crear un script del encapsulador para personalizar el comportamiento de inicio en tiempo de ejecución de su función de Lambda. Un script de encapsulador le permite establecer parámetros de configuración que no se pueden establecer mediante variables de entorno específicas del lenguaje.

nota

Las invocaciones pueden producir un error si el script de encapsulador no comienza correctamente el proceso de tiempo de ejecución.

Los scripts de encapsulador son compatibles con todos los tiempos de ejecución de Lambda nativos. Los scripts de encapsulador no son compatibles con Tiempos de ejecución exclusivos del sistema operativo (la familia de tiempos de ejecución de provided).

Cuando utiliza un script de encapsulador para su función, Lambda inicia el tiempo de ejecución utilizando el script. Lambda envía al script la ruta al intérprete y todos los argumentos originales para el inicio de tiempo de ejecución estándar. El script puede ampliar o transformar el comportamiento de inicio del programa. Por ejemplo, el script puede inyectar y modificar argumentos, establecer variables de entorno o capturar métricas, errores y otra información de diagnóstico.

Para especificar el script mediante el establecimiento del valor de la variable de entorno AWS_LAMBDA_EXEC_WRAPPER como la ruta del sistema de archivos de un binario o script ejecutable.

Ejemplo: crear y usar un script de encapsulador como capa de Lambda

En el ejemplo siguiente, se crea un script de encapsulador para comenzar el intérprete de Python con la opción -X importtime. Cuando ejecuta la función, Lambda genera una entrada de registro para mostrar la duración del tiempo de importación para cada importación.

Cómo crear y usar un script de encapsulador como capa
  1. Cree un directorio para la capa:

    mkdir -p python-wrapper-layer/bin cd python-wrapper-layer/bin
  2. En el directorio bin, pegue el siguiente código en un nuevo archivo denominado importtime_wrapper. Este es el script de encapsulador.

    #!/bin/bash # the path to the interpreter and all of the originally intended arguments args=("$@") # the extra options to pass to the interpreter extra_args=("-X" "importtime") # insert the extra options args=("${args[@]:0:$#-1}" "${extra_args[@]}" "${args[@]: -1}") # start the runtime with the extra options exec "${args[@]}"
  3. Conceda permisos ejecutables al script:

    chmod +x importtime_wrapper
  4. Cree un archivo .zip para la capa:

    cd .. zip -r ../python-wrapper-layer.zip .
  5. Compruebe que el archivo .zip tiene la siguiente estructura de directorios:

    python-wrapper-layer.zip
    └ bin
        └ importtime_wrapper
  6. Cree una capa con el paquete .zip.

  7. Luego, se crea una función con la consola de Lambda.

    1. Abra la consola de Lambda.

    2. Seleccione Creación de función.

    3. Escriba un nombre para la función.

    4. En Tiempo de ejecución, elija la opción de tiempo de ejecución de Phyton Último compatible.

    5. Seleccione Creación de función.

  8. Agregue la capa a la función.

    1. Elija su función y, a continuación, elija la pestaña Código si aún no está seleccionada.

    2. Desplácese hacia abajo hasta la sección Capas y, a continuación, elija Agregar una capa.

    3. En Origen de la capa, seleccione Capas personalizadas y, a continuación, elija su capa de la lista desplegable Capas personalizadas.

    4. En Version (Versión), elija 1.

    5. Elija Añadir.

  9. Agregue la variable de entorno del encapsulador.

    1. Elija la pestaña Configuración y, a continuación, elija Variables de entorno.

    2. En Variables de entorno, elija Editar.

    3. Elija Add environment variable (Añadir variable de entorno).

    4. En Clave, escriba AWS_LAMBDA_EXEC_WRAPPER.

    5. En Valor, introduzca /opt/bin/importtime_wrapper (/opt/ + la estructura de carpetas de la capa .zip).

    6. Seleccione Save (Guardar).

  10. Pruebe el script de encapsulador.

    1. Elija la pestaña Test (Prueba).

    2. En Evento de prueba, elija Probar. No es necesario crear un evento de prueba; el evento predeterminado es suficiente.

    3. Desplácese hacia abajo hasta Resultado de registros. Debido a que el script de encapsulador comenzó el intérprete de Python con la opción -X importtime, los registros muestran el tiempo necesario para cada importación. Por ejemplo:

      532 |           collections
      import time:        63 |         63 |           _functools
      import time:      1053 |       3646 |         functools
      import time:      2163 |       7499 |       enum
      import time:       100 |        100 |         _sre
      import time:       446 |        446 |           re._constants
      import time:       691 |       1136 |         re._parser
      import time:       378 |        378 |         re._casefix
      import time:       670 |       2283 |       re._compiler
      import time:       416 |        416 |       copyreg

En esta página

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