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 una máquina de AWS Step Functions estados que implementa un Wait estado y usa una 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 una 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 otros 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 configuran los permisos relacionados AWS Identity and Access Management ()IAM. 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, consulte. Integración de otros servicios con Step Functions

Paso 1: Crear la máquina de estado y aprovisionar recursos

  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. Step Functions muestra una lista de las Servicios de AWS utilizadas en el proyecto de muestra que ha seleccionado. También muestra un gráfico del flujo de trabajo para el proyecto de muestra. Implemente este proyecto en su empresa Cuenta de AWS o utilícelo como punto de partida para crear sus propios proyectos. En función de cómo desee continuar, elija Ejecutar una demostración o Crear a partir de ella.

    En este proyecto de muestra se implementan los siguientes recursos:

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

    • Una máquina de AWS Step Functions estados

    • Funciones relacionadas AWS Identity and Access Management (IAM)

    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.

  6. Realice una de las siguientes acciones siguientes:

    • Si seleccionó Construir a partir de él, Step Functions crea el prototipo de flujo de trabajo, pero no despliega los recursos de la definición del flujo de trabajo, por lo que puede seguir creando su prototipo de flujo de trabajo.

      En Workflow StudioModo Diseño, puedes añadir estados adicionales a tu prototipo de flujo de trabajo. O bien, puede cambiar Modo Código al editor de código integrado para editar la definición Amazon States Language (ASL) de su máquina de estados desde la consola Step Functions.

      importante

      Es posible que tengas que actualizar el marcador de posición Amazon Resource Name (ARN) para los recursos utilizados en el proyecto de ejemplo antes de poder ejecutar tu flujo de trabajo.

    • Si seleccionó Ejecutar una demostración, Step Functions crea un proyecto de solo lectura que utiliza una AWS CloudFormation plantilla para implementar los AWS recursos de esa plantilla en su empresa. Cuenta de AWS Puede ver la definición de la máquina de estados seleccionando el modo Código.

      Elija Implementar y ejecutar para implementar el proyecto y crear los recursos.

      Tenga en cuenta que la implementación puede tardar hasta 10 minutos en crearse IAM los recursos y los permisos. Mientras se despliegan tus recursos, puedes abrir el enlace AWS CloudFormation Stack ID para ver qué recursos se están aprovisionando.

      Una vez creados todos los recursos, deberías ver el proyecto en la página State Machines de la consola.

      importante

      Se pueden aplicar cargos estándar por cada servicio utilizado en la CloudFormation plantilla.

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) Para identificar la ejecución, puede especificar un nombre o utilizar el nombre de ejecución generado por defecto.

      nota

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

    2. (Opcional) En el cuadro de entrada, introduce los valores de entrada en el JSON formato adecuado para ejecutar tu flujo de trabajo.

      Si se ha seleccionado Ejecutar una demostración, no es necesario proporcionar ninguna entrada de ejecución.

      nota

      Si el proyecto de demostración que implementó contiene datos de entrada de ejecución rellenados previamente, utilice esa entrada para ejecutar la máquina de estado.

    3. Seleccione Iniciar ejecución.

    4. La consola de Step Functions le dirige a una página cuyo título es su ID de ejecución. Esta página se conoce como Detalles de la ejecución. En esta página, puede revisar los resultados de la ejecución a medida que avanza la ejecución o una vez finalizada.

      Para revisar los resultados de la ejecución, elija los estados individuales en la Vista de gráfico y, a continuación, elija las pestañas individuales del panel Detalles del paso para ver los detalles de cada estado, incluidas la entrada, la salida y la definición, respectivamente. Para obtener más información sobre la ejecución que puede ver en la página Detalles de la ejecución, consulte Página de detalles de ejecución: información general de la interfaz.

    Por ejemplo, en la siguiente imagen se muestra la salida del paso seleccionado Esperar a la marca temporal. El resultado de este paso se pasa 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.