Uso del estado del mapa en línea para repetir una acción en Step Functions - 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.

Uso del estado del mapa en línea para repetir una acción en Step Functions

Este tutorial puede ser de ayuda para familiarizarse con el estado Map en modo En línea. El estado Inline Map se utiliza en los flujos de trabajo para realizar una acción repetidamente. Para obtener más información sobre el modo en línea, consulte Estado Map en modo En línea.

En este tutorial, utilizará el estado del mapa integrado para generar repetidamente los identificadores únicos universales de la versión 4 (v4UUID). Comience por crear un flujo de trabajo que contenga dos estados Pase el estado del flujo de trabajo y un estado Inline Map en Workflow Studio. A continuación, configura la entrada y la salida, incluida la JSON matriz de entrada para el Map estado. El Map estado devuelve una matriz de salida que contiene la versión 4 UUIDs generada para cada elemento de la matriz de entrada.

Paso 1: Crear el prototipo de flujo de trabajo

En este paso, creará el prototipo para el flujo de trabajo de utilizando Workflow Studio. Workflow Studio es un diseñador visual de flujos de trabajo disponible en la consola de Step Functions. Elegirá los estados necesarios en la pestaña Flujo y utilizará la característica de arrastrar y soltar de Workflow Studio para crear el prototipo del flujo de trabajo.

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

  2. En el cuadro de diálogo Elegir una plantilla, seleccione En blanco.

  3. Elija Seleccionar para abrir Workflow StudioModo Diseño.

  4. Desde la pestaña Flujo, arrastre un estado Pass y suéltelo en el estado vacío denominado Arrastrar primero el estado aquí.

  5. Arrastre un estado Map y suéltelo debajo del estado Pass. Cambie el nombre del estado Map a Map demo.

  6. Arrastre un segundo estado Pass y colóquelo dentro del estado Map demo.

  7. Cambie el nombre del segundo estado Pass a Generate UUID.

Paso 2: Configurar entrada y salida

En este paso, configurará la entrada y la salida para todos los estados de su prototipo de flujo de trabajo. En primer lugar, se inyectan algunos datos fijos en el flujo de trabajo mediante el primer estado Pass. Este estado Pass transfiere estos datos como entrada al estado Map demo. En esta entrada, se especifica el nodo que contiene la matriz de entrada sobre la que debe iterarse el estado Map demo. A continuación, defina el paso que debe repetir el estado de demostración del mapa para generar la versión 4UUIDs. Por último, configure la salida para que regrese para cada repetición.

  1. Elija el primer estado Pass en su prototipo de flujo de trabajo. En la pestaña Salida, introduzca lo siguiente en Resultado:

    { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
  2. Seleccione el estado Map demo y, en la pestaña Configuración, haga lo siguiente:

    1. Seleccione Proporcionar una ruta a la matriz de elementos.

    2. Especifique la siguiente ruta de referencia para seleccionar el nodo que contiene la matriz de entrada:

      $.colors
  3. Elija el UUID estado Generar y, en la pestaña Entrada, haga lo siguiente:

    1. Elija Transformar la entrada con parámetros.

    2. Introduzca la siguiente JSON entrada para generar la v4 UUIDs para cada uno de los elementos de la matriz de entrada. Utiliza la función States.UUID intrínseca para generar laUUIDs.

      { "uuid.$": "States.UUID()" }
  4. Para el UUID estado Generar, seleccione la pestaña Salida y haga lo siguiente:

    1. Seleccione Filtrar la salida con OutputPath.

    2. Introduzca la siguiente ruta de referencia para seleccionar el JSON nodo que contiene los elementos de la matriz de salida:

      $.uuid

Paso 3: Revise y guarde la definición generada automáticamente

A medida que arrastra y suelta estados del panel Flow al lienzo, Workflow Studio elabora automáticamente la definición de Amazon States Language (ASL) de su flujo de trabajo en tiempo real. Puede editar esta definición según sea necesario.

  1. (Opcional) Seleccione Definición en el panel de Panel de inspectores para ver la definición del flujo de trabajo de Amazon States Language generada automáticamente.

    sugerencia

    También puede ver la ASL definición en Workflow Studio. Editor de código En el editor de código, también puede editar la ASL definición de su flujo de trabajo.

    El siguiente ejemplo muestra la definición de Amazon States Language generada automáticamente para su flujo de trabajo.

    { "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
  2. Especifique un nombre para la máquina de estado. Para ello, elija el icono de edición situado junto al nombre predeterminado de la máquina de estado MyStateMachine. A continuación, en Configuración de máquina de estado, especifique un nombre en el cuadro Nombre de la máquina de estado.

    En este tutorial, ingrese el nombre InlineMapDemo.

  3. (Opcional) En Configuración de máquina de estado, especifique otros ajustes del flujo de trabajo, como el tipo de máquina de estado y su función de ejecución.

    Para este tutorial, mantenga todas las selecciones predeterminadas en Configuración de máquina de estado.

  4. En el cuadro de diálogo Confirmar creación de rol, elija Confirmar para continuar.

    También puede seleccionar Ver configuración de rol para volver a Configuración de máquina de estado.

    nota

    Si eliminas el IAM rol que Step Functions crea, Step Functions no podrá volver a crearlo más adelante. Del mismo modo, si modificas el rol (por ejemplo, quitando Step Functions de los principios de la IAM política), Step Functions no podrá restaurar su configuración original más adelante.

Paso 4: Ejecutar la máquina de estado

Las ejecuciones de máquinas de estado son instancias en las que se ejecuta un flujo de trabajo para realizar tareas.

  1. En la InlineMapDemopágina, selecciona Iniciar la ejecución.

  2. En el cuadro de diálogo Iniciar ejecución, haga lo siguiente:

    1. (Opcional) Introduzca 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 en el JSON formato adecuado para ejecutar tu flujo de trabajo.

    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 Descripción general de los detalles de ejecución.

    Para ver la entrada y la salida de la ejecución side-by-side, seleccione Entrada y salida de ejecución. En Salida, consulte la matriz de salida devuelta por el estado Map. A continuación se muestra un ejemplo de la matriz de salida:

    [ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]