Cree un temporizador de tareas con Lambda y Amazon SNS - AWS Step Functions

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.

Cree un temporizador de tareas con Lambda y Amazon SNS

Este proyecto de muestra crea un temporizador de tareas. Implementa un AWS Step Functions máquina de estados que implementa un Wait estado y usa un AWS Lambda función que envía una notificación de Amazon Simple Notification Service (AmazonSNS). Un estado Estado del flujo de trabajo de espera es un tipo de estado que espera a que un disparador realice una unidad de trabajo.

nota

Este proyecto de ejemplo implementa un AWS Lambda función para enviar una notificación de Amazon Simple Notification Service (AmazonSNS). También puedes enviar una SNS notificación a Amazon directamente desde el idioma de los estados de Amazon. Consulte Integración de servicios con Step Functions.

En este proyecto de ejemplo se crea la máquina de estados, una función de Lambda y un SNS tema de Amazon, y se configura lo relacionado AWS Identity and Access Management (IAM) permisos. Para obtener más información sobre los recursos que se crean con el proyecto de ejemplo Temporizador de tareas, consulte:

Para obtener más información sobre cómo AWS Step Functions puede controlar otros AWS servicios, consulteIntegración de servicios con Step Functions.

Paso 1: Crear la máquina de estado

  1. Abra la consola de Step Functions y seleccione Crear máquina de estado.

  2. Escriba Task Timer en el cuadro de búsqueda y, a continuación, seleccione Temporizador de tareas en los resultados de búsqueda que aparecen.

  3. Elija Siguiente para continuar.

  4. Elija Ejecutar una demostración para crear un ready-to-deploy flujo de trabajo y de solo lectura, o elija Construir a partir de ella para crear una definición de máquina de estados editable sobre la que pueda crear e implementar posteriormente.

    En este proyecto de muestra se implementan los siguientes recursos:

    • una función Lambda que envía una notificación de AmazonSNS.

    • Un registro AWS Step Functions máquina de estado

    • Relacionado AWS Identity and Access Management (IAM) roles

    En la siguiente imagen se muestra el gráfico del flujo de trabajo del proyecto de muestra Temporizador de tareas:

    Gráfico de flujo de trabajo del proyecto de ejemplo de Temporizador de tareas.
  5. Elija Utilizar plantilla para continuar con la selección.

Los siguientes pasos dependen de la elección anterior:

  1. Realice una demostración: puede revisar la máquina de estados antes de crear un proyecto de solo lectura con los recursos desplegados por AWS CloudFormation a tu Cuenta de AWS.

    Puede ver la definición de la máquina de estados y, cuando esté listo, elija Implementar y ejecutar para implementar el proyecto y crear los recursos.

    La creación de recursos y permisos puede tardar hasta 10 minutos en implementarse. Puede utilizar el enlace Stack ID para supervisar el progreso en AWS CloudFormation.

    Una vez completada la implementación, deberías ver tu nueva máquina de estados en la consola.

  2. Aproveche esta información: puede revisar y editar la definición del flujo de trabajo. Es posible que tengas que establecer valores para los marcadores de posición en el proyecto de ejemplo antes de intentar ejecutar tu flujo de trabajo personalizado.

nota

Es posible que se apliquen cargos estándar por los servicios implementados en tu cuenta.

Paso 2: Ejecutar la máquina de estado

Una vez aprovisionados e implementados todos los recursos, aparece el cuadro de diálogo Iniciar ejecución con una entrada de ejemplo similar a la siguiente.

{ "jobName": "my-job",{ "topic": "arn:aws:sns:us-east-2:123456789012:StepFunctionsSample-TaskTimercc68840e-c3d3-42a8-911e-821b7ce248e5-SNSTopic-44UjcFxzhACT", "message": "HelloWorld", "timer_seconds": 10 }
  • En el cuadro de diálogo Iniciar ejecución, haga lo siguiente:

    1. (Opcional) Introduce un nombre de ejecución personalizado para anular el valor predeterminado generado.

      ASCIINombres no identificables y registro

      Step Functions acepta nombres para máquinas de estados, ejecuciones, actividades y etiquetas que no contengan ASCII caracteres. Como estos personajes no funcionan con Amazon CloudWatch, te recomendamos que utilices solo ASCII caracteres para poder hacer un seguimiento de las métricas CloudWatch.

    2. (Opcional) En el cuadro de entrada, introduce los valores de entrada comoJSON. Puede omitir este paso si está realizando una demostración.

    3. Seleccione Iniciar ejecución.

    La consola Step Functions lo dirigirá a una página de detalles de ejecución en la que puede elegir estados en la vista de gráficos para explorar la información relacionada en el Detalles del paso panel.

    Por ejemplo, en la siguiente imagen se muestra la salida del paso seleccionado Esperar a la marca temporal. El resultado de este paso se transfiere como entrada al paso Enviar SNS mensaje.

    Salida de la ejecución del paso Esperar a la marca temporal seleccionado en la Vista de gráfico.