Usando o estado do Inline Map para repetir uma ação em Step Functions - 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á.

Usando o estado do Inline Map para repetir uma ação em Step Functions

Este tutorial ajuda você nos conceitos básicos ao usar o estado Map no modo em linha. Você usa o estado Mapa em linha em seus fluxos de trabalho para executar uma ação repetidamente. Para obter mais informações sobre o modo Em linha, consulte Estado do mapa no modo Em linha.

Neste tutorial, você usa o estado Inline Map para gerar repetidamente identificadores universalmente exclusivos da versão 4 (v4). UUID Você começa criando um fluxo de trabalho que contém dois estados Passar estado do fluxo de trabalho e um estado de Mapa em linha no Workflow Studio. Em seguida, você configura a entrada e a saída, incluindo a JSON matriz de entrada para o Map estado. O Map estado retorna uma matriz de saída que contém a v4 UUIDs gerada para cada item na matriz de entrada.

Etapa 1: Criar o protótipo do fluxo de trabalho

Nesta e tapa, você cria o protótipo para seu fluxo de trabalho usando o Workflow Studio. O Workflow Studio é um designer visual de fluxo de trabalho disponível no console do Step Functions. Você vai escolher os estados necessários na guia Fluxo e usar o atributo de arrastar e soltar do Workflow Studio para criar o protótipo do fluxo de trabalho.

  1. Abra o console do Step Functions e clique em Criar máquina de estado.

  2. Na caixa de diálogo Escolher um modelo, selecione Em branco.

  3. Escolha Selecionar para abrir o Workflow Studio emModo de design.

  4. Na guia Fluxo, arraste o estado Aprovado e solte no estado vazio chamado Arrastar o primeiro estado aqui.

  5. Arraste um estado Mapa e solte-o abaixo do estado Aprovado. Altere o nome do estado Mapa para Map demo.

  6. Arraste um segundo estado Aprovado e solte-o dentro do estado Demonstração do mapa.

  7. Altere o nome do segundo estado Aprovado como Generate UUID.

Etapa 2: Configurar entrada e saída

Nesta etapa, você configura a entrada e a saída para todos os estados no protótipo de fluxo de trabalho. Primeiro, você injeta alguns dados fixos no fluxo de trabalho usando o primeiro estado Aprovado. Esse estado Aprovado transmite esses dados como entrada para o estado Demonstração do mapa. Nessa entrada, você especifica o nó que contém a matriz de entrada sobre a qual o estado Demonstração do mapa deve iterar. Em seguida, você define a etapa que o estado de demonstração do Mapa deve repetir para gerar a v4UUIDs. Por fim, você configura a saída para retornar para cada repetição.

  1. Escolha o primeiro estado Aprovado em seu protótipo de fluxo de trabalho. Na guia Saída, insira o seguinte em Resultado:

    { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
  2. Escolha o estado Demonstração do mapa e, na guia Configuração, faça o seguinte:

    1. Escolha Provide a path to items array (Fornecer um caminho para matriz de itens).

    2. Especifique o seguinte caminho de referência para selecionar o nó que contém a matriz de entrada:

      $.colors
  3. Escolha o UUID estado Gerar e, na guia Entrada, faça o seguinte:

    1. Escolha Transform input with Parameters (Transformar entrada com parâmetros).

    2. Insira a JSON entrada a seguir para gerar a v4 UUIDs para cada um dos itens da matriz de entrada. Você usa a função States.UUID intrínseca para gerar o. UUIDs

      { "uuid.$": "States.UUID()" }
  4. Para o UUID estado Gerar, escolha a guia Saída e faça o seguinte:

    1. Escolha Filtrar saída com OutputPath.

    2. Insira o seguinte caminho de referência para selecionar o JSON nó que contém os itens da matriz de saída:

      $.uuid

Etapa 3: Revisar a definição da Amazon States Language gerada automaticamente e salvar o fluxo de trabalho

Conforme você arrasta e solta estados do painel Fluxo na tela, o Workflow Studio compõe automaticamente a definição do Amazon States Language (ASL) do seu fluxo de trabalho em tempo real. Você pode editar essa definição conforme necessário.

  1. (Opcional) Escolha Definição no painel Painel do Inspector para ver a definição do Amazon States Language gerada automaticamente do seu fluxo de trabalho.

    dica

    Você também pode ver a ASL definição no Editor de código Workflow Studio. No editor de código, você também pode editar a ASL definição do seu fluxo de trabalho.

    O exemplo a seguir mostra a definição da Amazon States Language gerada automaticamente para seu fluxo de trabalho.

    { "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 um nome para a máquina de estado. Para fazer isso, escolha o ícone de edição ao lado do nome padrão da máquina de estado de MyStateMachine. Em seguida, em Configuração da máquina de estado, insira um nome na caixa Nome da máquina de estado.

    Para este tutorial, insira o nome InlineMapDemo.

  3. (Opcional) Em Configuração da máquina de estado, especifique outras configurações do fluxo de trabalho, como o tipo de máquina de estado e a função de execução.

    Para este tutorial, mantenha todas as seleções padrão na Configuração da máquina de estado.

  4. Na caixa de diálogo Confirmar criação do perfil, selecione Confirmar para continuar.

    Você também pode escolher Exibir configurações do perfil para voltar às Configurações da máquina de estado.

    nota

    Se você excluir a IAM função criada pelo Step Functions, o Step Functions não poderá recriá-la posteriormente. Da mesma forma, se você modificar a função (por exemplo, removendo Step Functions dos principais na IAM política), o Step Functions não poderá restaurar suas configurações originais posteriormente.

Etapa 4: Executar a máquina de estado

As execuções de máquinas de estado são instâncias em que o fluxo de trabalho é executado para a realização de tarefas.

  1. Na InlineMapDemopágina, escolha Iniciar execução.

  2. Na caixa de diálogo Iniciar execução, faça o seguinte:

    1. (Opcional) Para identificar sua execução, você pode especificar um nome ou usar o nome de execução padrão gerado.

      nota

      Step Functions aceita nomes para máquinas de estado, execuções, atividades e rótulos que não contenham ASCII caracteres. Como nomes sem ASCII caracteres não funcionarão com a Amazon CloudWatch, recomendamos usar somente ASCII caracteres para que você possa acompanhar as métricas. CloudWatch

    2. (Opcional) Na caixa Entrada, insira os valores de entrada no JSON formato para executar seu fluxo de trabalho.

    3. Selecione Iniciar execução.

    4. O console do Step Functions direciona você para uma página em que o título é o ID da execução. Essa página é conhecida como página de Detalhes da execução. Nesta página, você pode revisar os resultados da execução à medida que a execução avança ou após a conclusão.

      Para revisar os resultados da execução, escolha estados individuais na Exibição em gráfico e, em seguida, escolha as guias individuais no painel Detalhes da etapa para visualizar os detalhes de cada estado, incluindo entrada, saída e definição, respectivamente. Para obter detalhes sobre as informações de execução que você pode visualizar na página Detalhes da execução, consulte Página de Detalhes da execução — Visão geral da interface.

    Para visualizar a entrada e a saída da execução side-by-side, escolha Entrada e saída de execução. Em Saída, veja a matriz de saída retornada pelo estado Map. A seguir, veja um exemplo de matriz de saída:

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