Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

444
Vistas
Alcance de las variables globales de Python en AWS Lambda

¿Cuál es el alcance o la vida útil de una variable global en AWS Lambda?

por ejemplo si hago algo como esto:

 cache = {} def lambda_handler(event, context): # do something with "cache" # do something else with "cache"

¿Se inicializará la cache una vez por invocación (proceso nuevo para cada ejecución de Lambda) o una vez que se inicialice este módulo, se reutilizará para múltiples invocaciones?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Las variables globales conservan su valor entre invocaciones en el mismo entorno de ejecución.

Las bibliotecas deben definirse en el código de inicialización fuera del controlador, de modo que se carguen una vez cuando se crea el entorno de ejecución.

fuente aws

 import boto3, json client = boto3.resource('dynamodb', region_name='eu-west-1') tbl = client.Table('my-dynamo-table') mydata = {} mydata["groups"] = [] def lambda_handler(event, context): if len(mydata["groups"]) == 0: # data is not cached, make call to dynamo data = tbl.scan() group_data = data['Items'] for group in group_data: mydata["groups"].append(group['name']) return mydata else: # return cached content return mydata

Aproveche la reutilización del entorno de ejecución para mejorar el rendimiento de su función. Inicialice los clientes del SDK y las conexiones de la base de datos fuera del controlador de funciones y almacene en caché los activos estáticos localmente en el directorio /tmp. Las invocaciones posteriores procesadas por la misma instancia de su función pueden reutilizar estos recursos. Esto ahorra costos al reducir el tiempo de ejecución de la función.

aws

over 4 years ago · Santiago Trujillo Denunciar

0

Las variables globales de Lambda no se actualizan con cada invocación. Lo que escriba dentro de la función del controlador se invocará con cada invocación.

Al llegar a la vida útil de las Variables globales, permanece mientras el contenedor inicializado permanezca activo (cierra el contenedor si permanece inactivo durante cierto período de tiempo) o el código se modifica y se vuelve a implementar. Debemos tener cuidado con lo que estamos poniendo como caché, es decir, si los datos almacenados en caché se actualizan con frecuencia, no es una buena idea almacenarlos en caché.

https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html

https://medium.com/tensult/aws-lambda-function-issues-with-global-variables-eb5785d4b876

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda