14
Lambda Layer para Python
En todo proyecto de desarrollo es necesario utilizar librerías o reutilizar código.
Para poder reutilizar nuestras propias librerías o de terceros, en las funciones lambda se utiliza un recurso llamado Layers que nos va a servir para cubrir esta necesidad.
En Python la estructura de carpetas que debemos utilizar para subir un Layer es la siguiente:
python/lib/pythonversion/site-packages/archivos libreria
Después de tener nuestros archivos en esta estructura de carpetas lo que debemos es hacer comprimirla y subirla a nuestra consola de AWS.
Por ejemplo en caso que quisiéramos utilizar la librería Beautiful Soup en nuestras funciones Lambda, debemos hacer lo siguiente:
1) Colocar los archivos de la(s) librería(s) en la estructura de carpetas mencionada anteriormente.
2) Esto lo podemos conseguir con el siguiente comando:
pip install beautifulsoup4 -t /documents/python/lib/python3.7/site-packages
pip install: Es utilizado para instalar librerías en Python.
beautifulsoup4: Nombre de la librería a isntalar.
-t: Indica que se van a instalar archivos en una carpeta.
/documents/python/lib/python3.7/site-packages: Es la ruta donde van a quedar los archivos de la librería
3) Luego de tener los archivos en la estructura de carpetas se deben comprimir los archivos de la carpeta python.
4) Debemos subir nuestra Layer(archivo comprimido a nuestra consola de AWS).
5) Ingresar a la consola de AWS
7)Seleccionar la opción Layers
El campo Compatible runtimes: se debe seleccionar como mínimo la versión de Python que se definió en la estructura de carpetas.
El campo Compatible architectures: se usa para definir el tipo de procesador que va a utilizar la función Lambda para su ejecución.
10) Después de crear la Layer se debe crear una función Lambda la cual va a hacer usa de la Layer creada. Se omiten los pasos de la creación de la función lambda.
11)Teniendo la función Lambda creada debemos seleccionar la Layer que queremos que utilice nuestra función.
12) Seleccionamos Custom Layers y elegimos la Layer que queremos que utilice nuestra función.
13) Ahora ya puedes utilizar la(s) librería(s) en tu función Lambda.
Me pueden encontrar en
14