Tutorial: Uso de AWS Lambda con eventos programados - AWS Lambda

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: Uso de AWS Lambda con eventos programados

En este tutorial, aprenderá a hacer lo siguiente:

  • Cree una función de Lambda con el esquema Programar una comprobación periódica de cualquier URL. También configurará la función de Lambda para que se ejecute cada minuto. Tenga en cuenta que si la función devuelve un error, Lambda registra las métricas de error en Amazon. CloudWatch

  • Configure una CloudWatch alarma en la Errors métrica de su función Lambda para publicar un mensaje en su tema de Amazon SNS AWS Lambda cuando emita métricas de error a. CloudWatch Debe suscribirse a los temas de Amazon SNS para obtener notificaciones por correo electrónico. En este tutorial, hará lo siguiente para configurar esto:

    • Cree un tema de Amazon SNS.

    • Suscribirse al tema para poder recibir notificaciones por correo electrónico cuando se publique un mensaje nuevo en el tema.

    • En Amazon CloudWatch, configura una alarma en la Errors métrica de tu función Lambda para publicar un mensaje en tu tema de SNS cuando se produzcan errores.

Requisitos previos

En este tutorial, se presupone que tiene algunos conocimientos sobre las operaciones básicas de Lambda y la consola de Lambda. Si aún no lo ha hecho, siga las instrucciones de Cree una función de Lambda con la consola. para crear su primera función de Lambda.

Creación de una función de Lambda

  1. Inicie sesión en AWS Management Console y abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.

  2. Elija Crear función.

  3. Elija Utilizar un esquema.

  4. Abra la lista desplegable Seleccionar esquema y elija el esquema Programar una comprobación periódica de cualquier URL.

  5. Configure los siguientes ajustes.

    • Nombre de la función: lambda-canary.

    • Rol de ejecución: cree un nuevo rol a partir de plantillas de políticas de AWS.

    • Nombre de rol: lambda-eventbridge-role.

    • Plantillas de política: simple microservice permissions (Permisos de microservicio simples).

    • Regla: crear nueva regla.

    • Rule name (Nombre de regla): CheckWebsiteScheduledEvent.

    • Rule description (Descripción de regla): CheckWebsiteScheduledEvent trigger.

    • Rule type (Tipo de regla): Schedule expression.

    • Schedule expression (Expresión de programación): rate(1 minute).

    • Variables de entorno

      • site (sitio) – https://docs.aws.amazon.com/lambda/latest/dg/welcome.html

      • expected (esperado) – What is AWS Lambda?

  6. Elija Crear función.

EventBridge (CloudWatch Eventos) emite un evento cada minuto, según la expresión del horario. El evento desencadena la función de Lambda, la cual verifica que la cadena esperada aparezca en la página especificada. Para obtener más información sobre las expresiones de programación, consulte Programación de expresiones con rate o cron.

Probar la función de Lambda

Compruebe la función con un evento de muestra proporcionado por la consola de Lambda.

  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija la función lambda-canary.

  3. Seleccione Probar.

  4. Cree un nuevo evento con la plantilla de CloudWatcheventos (cloudwatch-scheduled-event).

  5. Elija Create event (Crear evento).

  6. Elija Invoke (Invocar).

La salida de la ejecución de función aparece en la parte superior de la página.

Crear un tema de Amazon SNS y suscribirse a él.

Cree un tema de Amazon Simple Notification Service (Amazon SNS) para recibir notificaciones cuando la función de valor canary devuelva un error.

Creación de un tema
  1. Abra la consola de Amazon SNS.

  2. Cambie Región de AWS donde creó la función de Lambda.

  3. Elija Topics (Temas) y, a continuación, seleccione el Create topic (Crear tema).

  4. Cree un tema con la siguiente configuración:

    • Type (Tipo) – estándar

    • Nombre: lambda-canary-notifications.

    • Display name (Nombre que mostrar): Canary.

  5. Elija Crear nuevo tema.

  6. En la página de lambda-canary-notificationstemas, selecciona Crear suscripción.

  7. Cree una suscripción con la siguiente configuración:

    • Protocol (Protocolo): Email.

    • Punto de enlace: su dirección de email.

  8. Seleccione Crear suscripción.

Amazon SNS envía un email desde Canary <no-reply@sns.amazonaws.com>, que refleja el nombre intuitivo del tema. Use el enlace del correo electrónico para verificar la dirección.

Configuración de una alarma

Configure una alarma en Amazon CloudWatch que supervise la función Lambda y envíe una notificación cuando falle.

Para crear una alarma
  1. Abra la consola de CloudWatch .

  2. Cambie Región de AWS donde creó la función de Lambda.

  3. Seleccione All alarms (Todas las alarmas).

  4. Elija Create alarm (Crear alarma).

  5. En la página Specify metric and conditions (Especificar métricas y condiciones), elija Select metric (Seleccionar métrica).

  6. En el cuadro de búsqueda Metrics (Métricas), introduzca lambda-canary Errors.

  7. Elija Lambda > By Function 1 Name (Lambda > Por Nombre de función 1).

  8. Seleccione la métrica lambda-canary Errors (Errores lambda-canary).

  9. En la página Specify metric and conditions (Especificar métrica y condiciones), en el menú desplegable Statistic (Estadísticas), elija Sum (Suma).

  10. Establezca el límite en Greater/Equal (Mayor/Igual) que 1.

  11. En la página Configure actions (Configurar acciones), elija una notificación con las siguientes especificaciones.

    • Activación del estado de alarma – En alarma

    • Enviar notificación alambda-canary-notifications

  12. En la página Add name and description (Agregar nombre y descripción) haga lo siguiente:

    • Nombre: lambda-canary-alarm

    • Description (Descripción): Lambda canary alarm

  13. Elija Crear alarma.

Pruebe la alarma

Actualice la configuración de función para hacer que la función devuelva un error, lo que activa la alarma.

Para activar una alarma
  1. Abra la página de Funciones en la consola de Lambda.

  2. Elija la función lambda-canary.

  3. Desplácese hacia abajo. En Variables de entorno, elija Editar.

  4. Establezca expected en 404.

  5. Seleccione Guardar.

Espere un minuto y busque en su correo electrónico un mensaje de Amazon SNS.

Eliminación de sus recursos

A menos que desee conservar los recursos que creó para este tutorial, puede eliminarlos ahora. Si elimina los recursos de AWS que ya no utiliza, evitará gastos innecesarios en su cuenta de AWS.

Cómo eliminar la función de Lambda
  1. Abra la página de Funciones en la consola de Lambda.

  2. Seleccione la función que ha creado.

  3. Elija Acciones, Eliminar.

  4. Escriba delete en el campo de entrada de texto y elija Delete(Eliminar).

Para eliminar la alarma CloudWatch
  1. Abra la página Todas las alarmas de la CloudWatch consola.

  2. Seleccione la alarma que creó.

  3. Elija Actions (Acciones), Delete (Eliminar).

  4. Elija Eliminar.

Para eliminar la suscripción a Amazon SNS
  1. Abra la página Suscriptions (Suscripciones) en la consola de Amazon SNS.

  2. Seleccione la suscripción que creó.

  3. Elija Delete (Eliminar), Delete (Eliminar).

Para eliminar el tema de Amazon SNS
  1. Abra la página Topics (Temas) en la consola de Amazon SNS.

  2. Seleccione el tema que creó.

  3. Elija Eliminar.

  4. Introduzca delete me en el campo de entrada de texto.

  5. Elija Eliminar.