Mapear estado do fluxo de trabalho - AWS Step Functions

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Mapear estado do fluxo de trabalho

Use o estado Map para executar um conjunto de etapas do fluxo de trabalho para cada item em um conjunto de dados. As iterações do Map estado são executadas em paralelo, o que possibilita o processamento rápido de um conjunto de dados. Mapos estados podem usar uma variedade de tipos de entrada, incluindo uma JSON matriz, uma lista de objetos do Amazon S3 ou um CSV arquivo.

O Step Functions fornece dois tipos de modos de processamento para usar o estado Map em seus fluxos de trabalho: modo Inline e modo Distribuído.

dica

Para implantar um exemplo de fluxo de trabalho que usa um Map estado em seu Conta da AWS, consulte o Módulo 5 - Estado de escolha e estado do mapa do AWS Step Functions Workshop.

Modos de processamento do estado do mapa

O Step Functions fornece os seguintes modos de processamento para o estado Map, dependendo de como você deseja processar os itens em um conjunto de dados.

  • Em linha — modo de concorrência limitada. Nesse modo, cada iteração do estado Map é executada no contexto do fluxo de trabalho que contém o estado Map. O Step Functions adiciona o histórico de execução dessas iterações ao histórico de execuções do fluxo de trabalho principal. Por padrão, os estados Map são executados no modo Em linha.

    Nesse modo, o Map estado aceita somente uma JSON matriz como entrada. Além disso, esse modo oferece suporte para até 40 iterações simultâneas.

    Para obter mais informações, consulte Usando o estado do mapa no modo Inline nos fluxos de trabalho do Step Functions.

  • Distribuído — modo de alta simultaneidade. Nesse modo, o estado Map executa cada iteração como uma execução de fluxo de trabalho secundário, o que permite um processamento simultâneo de até 10 mil execuções paralelas de fluxo de trabalho secundário. Cada execução de fluxo de trabalho secundário tem seu próprio histórico de execução separado do fluxo de trabalho principal.

    Nesse modo, o Map estado pode aceitar uma JSON matriz ou uma fonte de dados do Amazon S3, como um CSV arquivo, como entrada.

    Para obter mais informações, consulte Modo distribuído.

O modo a ser utilizado depende de como você deseja processar os itens em um conjunto de dados. Use o estado Map no modo Em linha se o histórico de execução do fluxo de trabalho não exceder 25 mil entradas ou se você não precisar de mais de 40 iterações simultâneas.

Use o estado Map no modo distribuído quando precisar orquestrar workloads paralelas em grande escala que atendam a qualquer combinação das seguintes condições:

  • O tamanho do conjunto de dados excede 256 KB.

  • O histórico de eventos de execução do fluxo de trabalho excede 25 mil entradas.

  • Você precisa processar simultaneamente mais de 40 iterações paralelas.

Diferenças entre o modo Em linha e Distribuído

A tabela a seguir destaca as diferenças entre os modos Em linha e Distribuído.

Modo inline Modo distribuído
Supported data sources

Aceita uma JSON matriz passada de uma etapa anterior no fluxo de trabalho como entrada.

Aceita as seguintes fontes de dados como entrada:

  • JSONmatriz passada de uma etapa anterior no fluxo de trabalho

  • JSONarquivo em um bucket do Amazon S3 que contém uma matriz

  • CSVarquivo em um bucket do Amazon S3

  • Lista de objetos do Amazon S3

  • Inventário do Amazon S3

Map iterations

Nesse modo, cada iteração do estado Map é executada no contexto do fluxo de trabalho que contém o estado Map. O Step Functions adiciona o histórico de execução dessas iterações ao histórico de execuções do fluxo de trabalho principal.

Nesse modo, o estado Map executa cada iteração como uma execução de fluxo de trabalho secundário, o que permite um processamento simultâneo de até 10 mil execuções paralelas de fluxo de trabalho secundário. Cada execução de fluxo de trabalho secundário tem seu próprio histórico de execução separado do fluxo de trabalho principal.

Maximum concurrency for parallel iterations

Permite que você execute até 40 iterações da maneira mais simultânea possível.

Permite executar até 10 mil execuções paralelas de fluxo de trabalho secundário para processar milhões de itens de dados ao mesmo tempo.

Input payload and event history sizes

Impõe um limite de 256 KB no tamanho do payload da entrada e 25 mil entradas no histórico de eventos de execução.

Permite superar a limitação do tamanho de payload porque o estado Map pode ler a entrada diretamente das fontes de dados do Amazon S3.

Nesse modo, também é possível superar as limitações do histórico de execução, porque as execuções do fluxo de trabalho secundário iniciadas pelo estado Map mantêm seus próprios históricos de execução separados do histórico de execução do fluxo de trabalho principal.

Monitoring and observability

Você pode revisar o histórico de execução do fluxo de trabalho no console ou invocando a GetExecutionHistory API ação.

Você também pode visualizar o histórico de execução por meio CloudWatch de um X-Ray.

Ao executar um estado Map no modo distribuído, o Step Functions cria um recurso de Execução de mapa. Uma Execução de mapa se refere a um conjunto de execuções secundárias de fluxo de trabalho que um estado Mapa Distribuído inicia. Você pode ver uma Execução de mapa no console do Step Functions. Você também pode invocar a DescribeMapRun API ação. A Map Run também emite métricas para CloudWatch.

Para obter mais informações, consulte Visualizando uma execução de Distributed Map Run em Step Functions.