Uso del estado Inline Map para repetir una acción - 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 Inline Map para repetir una acción

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 Inline Map para generar repetidamente los identificadores únicos universales de la versión 4 (UUID v4). Comience por crear un flujo de trabajo que contenga dos estados Pass y un estado Inline Map en Workflow Studio. A continuación, configure la entrada y la salida, incluida la matriz JSON de entrada para el estado Map. El estado Map devuelve una matriz de salida que contiene los UUID v4 generados 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. Se abrirá Workflow Studio en Modo 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 Map demo para generar los UUID de la versión 4. 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. Seleccione el estado Generate UUID y, en la pestaña Entrada, haga lo siguiente:

    1. Elija Transformar la entrada con parámetros.

    2. Introduzca la siguiente entrada JSON para generar los UUID de la versión 4 para cada uno de los elementos de la matriz de entrada. Se utiliza la función intrínseca States.UUID para generar los UUID.

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

    1. Elija Filtrar salida con OutputPath.

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

      $.uuid

Paso 3: Revisar la definición de Amazon States Language generada automáticamente y guardar el flujo de trabajo

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

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

    sugerencia

    También puede ver la definición de ASL en el Editor de código de Workflow Studio. En el editor de código también puede editar la definición de ASL del 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, seleccione el icono de edición situado junto al nombre de la máquina de estado predeterminada de 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 se elimina el rol de IAM que crea Step Functions, no se podrá volver a crear más adelante. Asimismo, si se modifica el rol (por ejemplo, eliminando Step Functions de las entidades principales de la política de IAM), Step Functions no podrá restablecer la 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, elija Iniciar ejecución.

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

    1. (Opcional) Para identificar la ejecución, puede especificar un nombre en el cuadro Nombre. De forma predeterminada, Step Functions genera automáticamente un nombre de ejecución único.

      nota

      Step Functions permite crear nombres para máquinas de estado, ejecuciones, actividades y etiquetas que contengan caracteres no ASCII. Estos nombres que no son ASCII no funcionan con Amazon. CloudWatch Para asegurarse de que puede realizar un seguimiento de CloudWatch las métricas, elija un nombre que utilice únicamente caracteres ASCII.

    2. (Opcional) En el cuadro Entrada, introduzca los valores de entrada en formato JSON para ejecutar el 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 Página de detalles de ejecución: información general de la interfaz.

    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" ]