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

Tutorial: Uso de AWS Lambda con eventos programados

En este tutorial, aprenderá a hacer lo siguiente:

  • Crear una función de Lambda utilizando el proyecto lambda-canary. 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, AWS Lambda registra las métricas de error en CloudWatch.

  • Configurar una alarma de CloudWatch en la métrica Errors de la función de Lambda para que publique un mensaje en el tema de Amazon SNS cuando AWS Lambda envíe las 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:

    • Creación de 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, configure una alarma en la métrica Errors de la función de Lambda para publicar un mensaje en el tema de SNS cuando se produzcan errores.

Requisitos previos

En este tutorial, se le presuponen algunos conocimientos sobre las operaciones básicas de Lambda y la consola de Lambda. Si aún no lo ha hecho, siga las instrucciones que se indican en Introducción a Lambda para crear la primera función Lambda.

Crear una función de Lambda

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

  2. Elija Create function.

  3. Seleccione Use a blueprint (Utilizar un proyecto).

  4. Escriba canary en la barra de búsqueda. Elija proyecto lambda-canary y, a continuación, elija Configure (Configurar).

  5. Configure los siguientes ajustes.

    • Nombrelambda-canary.

    • Función – Cree un nuevo rol a partir de plantillas de políticas de AWS.

    • Role name (Nombre de rol): lambda-apigateway-role.

    • Plantillas de políticaSimple microservice permissions (Permisos de microservicio simples).

    • ReglaCrear nueva regla.

    • Nombre de la regla'CheckWebsiteScheduledEvent.

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

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

    • Habilitado – Cierto (comprobado).

    • Variables de entorno

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

      • expected (esperado)What is AWS Lambda?.

  6. Elija Create function.

Eventos de CloudWatch emite un evento cada minuto basado en la expresión de programación. 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.

Pruebe 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 Test (Probar).

  4. Cree un evento nuevo usando la plantilla de evento de Eventos de CloudWatch.

  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.

Cree un tema de Amazon SNS y suscríbase a él

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

Para crear un tema

  1. Abra la consola de Amazon SNS.

  2. Elija Create new topic.

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

    • Nombrelambda-canary-notifications.

    • Nombre que mostrarCanary.

  4. Seleccione Create subscription.

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

    • ProtocoloEmail.

    • Punto de enlace – Su dirección de email.

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.

Configure una alarma

Configure una alarma en Amazon CloudWatch que monitorice la función de Lambda que envía una notificación cuando falla.

Para crear una alarma

  1. Abra la consola de CloudWatch.

  2. Elija Alarms (Alarmas).

  3. Elija Crear alarma.

  4. Elija Alarms (Alarmas).

  5. Cree una alarma con la siguiente configuración:

    • MétricasErrores lambda-canary.

      Buscar lambda canary errors para encontrar la métrica.

    • Estadística – Sum

      Elija la estadística en el menú desplegable sobre el menú gráfico de previsualización.

    • Nombrelambda-canary-alarm.

    • DescripciónLambda canary alarm

    • Umbral – Whenever Errors is (Cuando el error sea) >=1

    • Enviar notificación a: lambda-canary-notifications

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 Environment variables (Variables de entorno), elija Edit (Editar).

  4. Establezca expected en 404.

  5. Seleccione Save.

Tras un minuto, busque en su correo electrónico un mensaje de Amazon SNS.

Limpiar los recursos

Ahora puede eliminar los recursos que creó para este tutorial, a menos que desee conservarlos. Si elimina los recursos de AWS que ya no utiliza, evitará gastos innecesarios en su cuenta de AWS.

Para eliminar la función de Lambda

  1. Abra la Página de Funciones de la consola de Lambda.

  2. Seleccione la función que ha creado.

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

  4. Elija Eliminar.

Para eliminar una alarma de CloudWatch

  1. Abra la página Alarmas de la consola de CloudWatch.

  2. Seleccione la alarma que ha creado.

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

  4. Elija Eliminar.

Para eliminar la suscripción de Amazon SNS

  1. Abra la página Suscripciones de la consola de Amazon SNS.

  2. Seleccione la suscripción que ha creado.

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

Para eliminar el tema de Amazon SNS

  1. Abra la página Temas de la consola de Amazon SNS.

  2. Seleccione el tema que ha creado.

  3. Elija Eliminar.

  4. Escriba delete me en el cuadro de texto.

  5. Elija Eliminar.