Cómo activar AWS Lambda con AWS S3

Cómo activar AWS Lambda con AWS S3
AWS Lambda es un servicio impulsado por eventos sin servidor que ejecuta códigos en diferentes lenguajes de programación en respuesta a eventos especificados. Estas funciones en AWS Lambda se pueden invocar o activarse conectando a otros servicios de AWS como AWS S3. Por ejemplo, activar la función lambda al agregar objetos a un cubo, eliminar objetos del cubo, etc.

En esta publicación, discutiremos cómo activar o invocar funciones de Lambda con el servicio de almacenamiento AWS S3.

Cómo activar AWS Lambda con S3?

Las funciones de AWS Lambda pueden ser activadas por los eventos o cambios que ocurren en el servicio de almacenamiento S3 de AWS. Hay una opción llamada "Agregar disparador" en la consola Lambda de AWS para activar las funciones Lambda. Comencemos el proceso desde cero para una mejor comprensión.

Crea un cubo S3

Inicie sesión en la consola de administración de AWS y abra el servicio S3 de AWS:

El usuario puede crear un cubo o usar uno existente. Para esta publicación, crearemos un nuevo cubo. Haga clic en el botón "Crear cubo" en la primera interfaz de la consola AWS S3:

Escriba un nombre único globalmente único para el cubo y luego seleccione una región de AWS:

Agregue algunas otras configuraciones requeridas para crear un nuevo cubo, y luego haga clic en y luego seleccione el botón "Crear cubo":

De esta manera, se ha creado el cubo, y el cubo recién creado aparecerá en la lista de los cubos existentes:

Crear una función lambda

A continuación, el usuario tiene que abrir la consola AWS Lambda. Seleccione el AWS Lambda de los Servicios:

Seleccione la opción "Funciones" en el menú del lado izquierdo y luego haga clic en el botón "Crear función" si no hay un cubo existente:

Agregue la configuración requerida para crear una nueva función Lambda. Para esta publicación, procedemos con la opción "Autor desde cero". Los usuarios pueden configurar todas las configuraciones de acuerdo con su elección:

Nombre la función Lambda y luego seleccione un lenguaje de tiempo de ejecución en las opciones en el menú desplegable donde la función Lambda debe aparecer en la consola AWS Lambda. Aquí seleccionamos "Python 3.9 ":

Haga clic en el botón "Crear función":

La función Lambda se ha creado de esta manera:

Agregar disparador

Ahora, podemos llevar al paso principal, que es agregar el disparador. La interfaz mostrará una opción "Agregar disparador" justo después de abrir los detalles de la función Lambda. Simplemente haga clic en la opción:

Dado que se requiere aquí para activar la función Lambda utilizando el servicio S3 de AWS, busque el S3 en la configuración de activación y seleccione la opción:

Después de seleccionar un servicio para conectarse a AWS Lambda, la interfaz muestra instantáneamente un formulario de configuración de acuerdo con el servicio seleccionado. Por ejemplo, como seleccionamos el servicio "S3", las configuraciones solicitadas son el nombre del cubo, eventos de S3, prefijo, sufijo, etc.:

Seleccione el cubo S3 en el menú desplegable y luego seleccione un tipo de evento para especificar qué cambios en el cubo S3 seleccionado deben activar la función Lambda. Por ejemplo, seleccionamos "Todos los objetos crean eventos". Esto significa que cada vez que se agrega o elimine un objeto, activará la función Lambda:

El usuario también puede agregar un prefijo y sufijo para limitar las notificaciones de objetos que comienzan y terminan con las mismas claves. Para esta publicación, lo dejamos como predeterminado. Haga clic en el botón "Agregar":

Esto mostrará el disparador en la consola Lambda de AWS:

El usuario puede ver todos los detalles del disparador para revisar las configuraciones:

En los detalles de la función Lambda, aparecerá el disparador S3, lo que indica que el disparador se ha agregado con éxito a la función:

Trabajo del disparador S3

Para comprender el funcionamiento del activador "S3" y monitorear los cambios en el cubo S3 agregado al disparador, desplácese hacia abajo a la sección "Monitor" y seleccione la "Ver registros de CloudWatch":

Actualmente hay un registro presente en los registros de CloudWatch:

Para activar la función, podemos cargar un objeto al cubo S3. Para hacer eso, vaya a la consola S3 y abra los detalles del cubo S3 utilizado para activar la función AWS Lambda, y luego haga clic en el botón "Cargar":

Explore un archivo desde el sistema y cárguelo a través del botón "Cargar":

Los registros se actualizarán en los registros de CloudWatch y el número de secuencias de registros cambia instantáneamente de uno a dos que muestran la actividad reciente del cubo S3:

Se trataba de cómo activar la función AWS Lambda desde el servicio S3.

Conclusión

Uno de los servicios utilizados para activar las funciones de AWS Lambda es el servicio de almacenamiento de Amazon S3. Las funciones Lambda se pueden activar fácilmente a través de la opción "Agregar disparador" presente en la consola Lambda de AWS. Al conectar el servicio S3 a la función Lambda al agregar el disparador, las funciones se pueden invocar en eventos S3 específicos como cargar, editar o eliminar archivos en cubos.