Mapa del estado del flujo de trabajo - 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.

Mapa del estado del flujo de trabajo

Utilice el estado Map para ejecutar un conjunto de pasos de flujo de trabajo para cada elemento de un conjunto de datos. Las iteraciones del Map estado se ejecutan en paralelo, lo que permite procesar un conjunto de datos rápidamente. Maplos estados pueden usar varios tipos de entrada, como una JSON matriz, una lista de objetos de Amazon S3 o un CSV archivo.

Step Functions proporciona dos tipos de modos de procesamiento para usar el estado Map en sus flujos de trabajo: modo En línea y modo Distribuido.

sugerencia

Para implementar un ejemplo de un flujo de trabajo que utiliza un Map estado para su Cuenta de AWS, consulte el módulo 5: Elija el estado y el estado del mapaAWS Step Functions Taller.

Modos de procesamiento del estado Map

Step Functions proporciona los siguientes modos de procesamiento para el estado Map, según cómo desee procesar los elementos de un conjunto de datos.

  • En línea: modo de simultaneidad limitada. En este modo, cada iteración del estado Map se ejecuta en el contexto del flujo de trabajo que contiene el estado Map. Step Functions añade el historial de ejecución de estas iteraciones al historial de ejecución del flujo de trabajo principal. De forma predeterminada, los estados Map se ejecutan en modo En línea.

    En este modo, el Map estado solo acepta una JSON matriz como entrada. Además, este modo admite hasta 40 iteraciones simultáneas.

    Para obtener más información, consulte Uso del estado del mapa en modo en línea en los flujos de trabajo de Step Functions.

  • Distribuido: modo de alta simultaneidad. En este modo, el estado Map ejecuta cada iteración como una ejecución de flujo de trabajo secundario, lo que permite una alta simultaneidad de hasta 10 000 ejecuciones de flujos de trabajo secundarios en paralelo. Cada ejecución de flujo de trabajo secundario tiene su propio historial de ejecución independiente del flujo de trabajo principal.

    En este modo, el Map estado puede aceptar una JSON matriz o una fuente de datos de Amazon S3, como un CSV archivo, como entrada.

    Para obtener más información, consulte Modo distribuido.

El modo que debe utilizar depende de cómo desee procesar los elementos de un conjunto de datos. Utilice el estado Map en modo En línea si el historial de ejecución del flujo de trabajo no va a superar las 25 000 entradas o si no necesita más de 40 iteraciones simultáneas.

Utilice el estado Map en modo Distribuido cuando necesite orquestar cargas de trabajo paralelas a gran escala que cumplan cualquier combinación de las siguientes condiciones:

  • El tamaño del conjunto de datos supera los 256 KB.

  • El historial de eventos de ejecución del flujo de trabajo supera las 25 000 entradas.

  • Necesita una simultaneidad de más de 40 iteraciones paralelas.

Diferencias entre el modo En línea y el modo Distribuido

En la siguiente tabla, se muestran las diferencias entre los modos En línea y Distribuido.

Modo En línea Modo Distribuido
Supported data sources

Acepta como entrada una JSON matriz pasada desde un paso anterior del flujo de trabajo.

Acepta los siguientes orígenes de datos como entrada:

  • JSONmatriz transferida desde un paso anterior del flujo de trabajo

  • JSONarchivo en un bucket de Amazon S3 que contiene una matriz

  • CSVarchivo en un bucket de Amazon S3

  • Lista de objetos de Amazon S3

  • Inventario de Amazon S3

Map iterations

En este modo, cada iteración del estado Map se ejecuta en el contexto del flujo de trabajo que contiene el estado Map. Step Functions añade el historial de ejecución de estas iteraciones al historial de ejecución del flujo de trabajo principal.

En este modo, el estado Map ejecuta cada iteración como una ejecución de flujo de trabajo secundario, lo que permite una alta simultaneidad de hasta 10 000 ejecuciones de flujos de trabajo secundarios en paralelo. Cada ejecución de flujo de trabajo secundario tiene su propio historial de ejecución independiente del flujo de trabajo principal.

Maximum concurrency for parallel iterations

Permite ejecutar hasta 40 iteraciones con la máxima simultaneidad posible.

Permite realizar hasta 10 000 ejecuciones de flujos de trabajo secundarios en paralelo para procesar millones de elementos de datos a la vez.

Input payload and event history sizes

Aplica un límite de 256 KB al tamaño de la carga de entrada y de 25 000 entradas al historial de eventos de ejecución.

Permite superar la limitación del tamaño de la carga, ya que el estado Map puede leer la entrada directamente de orígenes de datos de Amazon S3.

En este modo, también puede superar las limitaciones del historial de ejecución, ya que las ejecuciones des flujo de trabajo secundarios iniciadas por el estado Map mantienen sus propios historiales de ejecución independientes del historial de ejecución del flujo de trabajo principal.

Monitoring and observability

Puede revisar el historial de ejecución del flujo de trabajo desde la consola o invocando la GetExecutionHistory API acción.

También puede ver el historial de ejecuciones a través CloudWatch de X-Ray.

Cuando se ejecuta un estado Map en modo distribuido, Step Functions crea un recurso Map Run. Un Map Run hace referencia a un conjunto de ejecuciones de flujos de trabajo secundarios que inicia un estado Map Distributed. Puede ver un Map Run en la consola de Step Functions. También puede invocar la DescribeMapRun API acción. A Map Run también emite métricas a. CloudWatch

Para obtener más información, consulte Visualización de un mapa distribuido Ejecute la ejecución en Step Functions.