Cómo crear una función Lambda con Python Runtime

Cómo crear una función Lambda con Python Runtime
“Lambda es un servicio informático sin servidor proporcionado por AWS para ejecutar su código sin administrar la escala y la alta disponibilidad de los servidores. Por el término servidor sin servidor, queremos decir que no necesita tener un servidor y administrarlo para ejecutar su aplicación. Lambda realiza tareas en su nombre y administra todo por sí solo. Por lo tanto, tiene una característica única de la escala automática y la gestión de las fuentes y los servicios según los requisitos. Recuerde que, en tiempo real, no es posible ejecutar una aplicación sin un servidor y su administración, por lo que es el AWS el que asigna un servidor y administra todos estos servicios por sí solo, que no es su dolor de cabeza."

Las siguientes son algunas de las principales tareas que AWS realiza y realiza en nuestro nombre cuando implementa su solicitud en Lambda.

  1. Mantenimiento de servidores y del sistema operativo
  2. Gestión de la memoria, CPU, red y otros recursos
  3. Escala automática
  4. Alta disponibilidad
  5. Monitoreo de la salud de la flota
  6. Aplicar métodos de seguridad
  7. Hacer un seguimiento de las funciones de Lambda (Reloj Cloud)

La función Lambda admite varios idiomas, incluidos Java, GO, PowerShell, Node.JS, C#, Python y Ruby. Para usar cualquier otro lenguaje de programación, también proporciona servicio de API de tiempo de ejecución. En este tutorial, explicaremos cómo podemos crear una función Lambda con el tiempo de ejecución de Python desde cero.

Facturación de lambda

Después de haber pasado por una breve introducción del servicio Lambda, lo primero que nos viene a la mente es, si se trata de informática sin servidor, ¿cómo cobraría AWS este servicio?? A diferencia de la facturación de los servidores EC2, donde AWS cobra por el tiempo que se ejecuta el servidor, independientemente del hecho de que nuestro código se esté ejecutando o no, AWS cobra por Lambda solo cuando el código se está ejecutando. Entonces, el servicio Lambda se cobra solo cuando nuestro código está arriba, no desde el momento en que se creó nuestra función Lambda. Entonces, la duración de la factura para la función Lambda se calcula para el tiempo de ejecución del código, que se redondea a los 1 ms más cercanos*.

Creación de una función Lambda con Python Runtime

Para crear una función Lambda con Python Runtime, crearemos una función y luego la configuraremos para usar el tiempo de ejecución de Python. En este tutorial, se discutirá todo el procedimiento de creación y configuración de la función Lambda.

En primer lugar, inicie sesión en la consola de administración de AWS y luego busque Lambda en la barra de búsqueda y hazlo

En la barra lateral izquierda, haga clic en el funciones botón para obtener todas las funciones en la consola Lambda.

En el lado derecho de la pantalla, haga clic en el Crear función botón para crear la función.

Después de elegir la función Crear, se dirigiremos a la página de configuración de la función Lambda. Allí encontraremos cuatro formas de crear una función Lambda. Por ahora, iremos por el "Autor desde cero" opción.

En el menú de información básica, estableceremos un Nombre de la función de nuestra elección para nuestra función.

En el siguiente paso, elegiremos un idioma que queremos usar para escribir nuestra función. En este tutorial, elegiremos Python 3.9 Como nuestro tiempo de ejecución.

Luego, las siguientes dos opciones aparecerán para la arquitectura.

  • X86_64
  • brazo

Para esta demostración, elegiremos x86_64 Como la arquitectura que queremos usar para el código de función.

Por defecto, AWS crea un papel de IAM que tiene permiso para lanzar registros a CloudWatch. Podemos crear nuestro propio papel con las políticas que queremos usar para nuestra función Lambda según nuestros requisitos. Para este tutorial, en el "Cambiar rol de ejecución predeterminada"Menú, iremos por"Cree un nuevo papel con permisos de lambda básicos."

Luego, en la esquina inferior derecha, haremos clic en crear una función Para crear la función.

Aparecerá una nueva pantalla con un mensaje de éxito y una descripción general de la función como a continuación. En esta página, podemos agregar disparadores y destinos para nuestra función. Además, también se puede ver otra información sobre la función, que incluye descripción, última información de modificación, función ARN y URL a la función.

Prueba de una función Lambda

En el menú de fuente de código, podemos ver nuestro código Hello World Python, como se muestra en la imagen a continuación.

Aquí podemos probar nuestro código simplemente haciendo clic en el Prueba botón.

Provocará un Configurar la pantalla del evento de prueba, Y aquí puede configurar un evento de prueba nombrándolo, eligiendo la disponibilidad del evento de prueba como privado o compartible, y para la plantilla predeterminada de Hello-World que hemos elegido.

Luego haga clic en el ahorrar botón para guardar el evento.

Nos llevará de regreso al menú principal de la función que muestra el mensaje de éxito en la parte superior. Aquí volveremos a hacer clic en el Prueba botón, y nuestro código se ejecutará.

Como hemos visto los resultados de ejecución de nuestro código en la nueva pestaña. Ahora podemos sobrescribir y editar nuestro código y probarlo de la misma manera.

Lectura de registros de una función Lambda

Como hemos dado permiso a nuestra función Lambda para cargar registros en CloudWatch. Por lo tanto, los registros se cargarán en el reloj en la nube cada vez que ejecutemos nuestro código.

En el panel lateral izquierdo de CloudWatch, haremos clic en los registros. Aquí, podremos ver dos opciones en los registros.

  • Grupos de registro
  • Insights de registro

En grupos de registro, podremos ver registros para la función de hello-world como /AWS/Lambda/Hello-World-Function.

En Log Insights, podemos buscar y analizar los datos de nuestros registros. Aquí podemos hacer consultas para realizar nuestro trabajo relacionado con los registros de manera más eficiente.

Aquí en Log Insights, si elegimos nuestro grupo de registro y hacemos clic en Consulta de ejecución, Obtendremos nuestros resultados deseados.

Y obtendremos nuestros resultados con @timestamp y @mensaje como sigue

De la misma manera, podemos crear hasta 1000 funciones lambda. Podemos escribir nuestro código Python para cumplir con nuestros requisitos y ejecutarlo. Además, múltiples tareas también se pueden automatizar utilizando la función Lambda. Hemos mencionado algunas tareas básicas a continuación que son administradas por la función Lambda a través del código Python usando el Boto3, que es Python SDK para AWS.

  • Para recibir alertas de condición de instancia de EC2
  • Para programar el inicio y la parada de las instancias de EC2
  • Poner un elemento en la tabla AWS Dynamodb

Conclusión

La función Lambda es un servicio informático sin servidor proporcionado por AWS en el que AWS realiza todas las tareas en nuestro nombre, desde la asignación de un servidor hasta el mantenimiento, administración, redes y seguridad de ese servidor para nuestro código. Los cargos de AWS por Lambda solo cuando se activa la función Lambda, y se puede facturar en milisegundos incluso. Por lo tanto, este servicio de función lambda ha revolucionado el campo de la computación en la nube, lo que hace que una serie de tareas en la nube sean fáciles de manejar.