Usar o estado de mapa inline para repetir uma ação no 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á.

Usar o estado de mapa inline para repetir uma ação no 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 Mapa em linha para gerar repetidamente identificadores universalmente exclusivos da versão 4 (UUID v4). Você começa criando um fluxo de trabalho que contém dois estados Estado de passagem 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 matriz JSON de entrada para o estado Map. O estado Map retorna uma matriz de saída que contém os UUIDs v4 gerados 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 em Modo 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 Demonstração do mapa deve repetir para gerar os UUIDs v4. 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 estado Generate UUID (Gerar UUID) e, na guia Entrada, faça o seguinte:

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

    2. Insira a seguinte entrada JSON para gerar os UUIDs v4 para cada um dos itens da matriz de entrada. Use a função intrínseca States.UUID para gerar os UUIDs.

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

    1. Escolha Filter output with OutputPath (Filtrar saída com OutputPath).

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

      $.uuid

Etapa 3: revisar e salvar a definição gerada automaticamente

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

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

    dica

    Você também pode ver a definição de ASL no Editor de código do Workflow Studio. No editor de código, você também pode editar a definição de ASL do 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, clique no ícone de edição ao lado do nome da máquina de estado padrão 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 o perfil do IAM criado pelo Step Functions, não será possível recriá-lo posteriormente. Da mesma forma, se você modificar a função (por exemplo, removendo o Step Functions das entidades principais na política do IAM), o Step Functions não poderá restaurar as configurações originais dela 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 página InlineMapDemo, escolha Iniciar execução.

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

    1. (Opcional) Insira um nome de execução personalizado para substituir o padrão gerado.

      Nomes e registro em log não ASCII

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

    2. (Opcional) No campo Entrada, insira os valores de entrada no formato JSON para executar o 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 Visão geral dos detalhes da execução.

    Para visualizar a entrada e a saída da execução lado a lado, escolha Execution input and output. (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" ]