Veja o histórico dos passos de execução

Pode obter o histórico de uma execução de fluxo de trabalho especificada como uma lista de entradas de passos. Cada entrada de passo fornece informações que podem ajudar na análise, na depuração ou na otimização de um fluxo de trabalho. Por exemplo, pode confirmar que passos foram realmente executados e determinar a duração e o sucesso de um passo. Isto pode ser particularmente útil ao depurar um fluxo de trabalho não linear grande ou complicado (por exemplo, um com muitas ramificações paralelas).

Uma entrada de passo representa um passo real no código fonte (por exemplo, assign ou call) ou um bloco de instruções (por exemplo, um ciclo for ou um bloco try/retry/except). Para ver uma lista completa dos tipos de passos, consulte StepType.

Nível do histórico de execuções

Quando cria ou executa um fluxo de trabalho, pode especificar um histórico de execução Básico ou Detalhado. Pode aplicar esta definição ao nível do fluxo de trabalho ou da execução.

Por predefinição, não é especificado nenhum nível do histórico de execução e são devolvidas entradas de passos básicas.

Se quiser que o histórico de execução inclua quaisquer valores de variáveis no âmbito e, se aplicável, o número esperado de iterações (por exemplo, quando usar um ciclo for ou um ramo ou uma iteração paralela), tem de definir o nível do histórico de execução como Detalhado.

Se não for especificado um nível do histórico de execução para uma execução, este é determinado pelo nível aplicado ao fluxo de trabalho. Se os níveis forem diferentes, a definição aplicada ao nível da execução substitui a definição aplicada ao nível do fluxo de trabalho para essa execução.

Como obter entradas de passos

Pode obter entradas de passos enviando um pedido para a API REST Workflow Executions ou através da Google Cloud consola:

  • Google Cloud consola: neste documento, consulte a secção Veja as entradas de passos na consola.

    Além de apresentar as entradas dos passos e os respetivos detalhes, a consola oferece uma representação gráfica dos passos de execução, o que facilita a visualização e a análise do caminho de uma execução do fluxo de trabalho.

  • API REST Workflow Executions: neste documento, consulte Obtenha uma entrada de passo e Liste entradas de passos.

Informações de entrada do passo

Uma entrada de passo inclui as seguintes informações. As entradas de passos detalhadas também incluem as informações básicas das entradas de passos.

Para mais informações, consulte os exemplos neste documento.

Informações básicas de introdução de passos

Nome Nome completo do recurso da entrada do passo, que é um ID exclusivo com o seguinte formato, e onde STEPENTRY_ID é um contador crescente:
projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID
Por exemplo:
projects/123456789012/locations/us-central1/workflows/myFirstWorkflow/executions/ae8a66a1-cefa-4d16-8a2f-d50c712d8ef1/stepEntries/2
Criar e atualizar horas Datas/horas da hora de criação da entrada de passos e da respetiva atualização mais recente. Se uma entrada de passo tiver sido concluída, updateTime indica a hora de conclusão.
Nomes de rotinas e passos Nomes da rotina e do passo a que a entrada do passo pertence. Um nome de rotina é o nome do subfluxo de trabalho definido no código fonte YAML ou JSON. O nome da rotina de nível superior é main.
Estado e tipo de progresso Estado da entrada do passo, por exemplo, se a entrada foi bem-sucedida ou falhou, ou se uma entrada do passo está em curso e o tipo de progresso. Para ver uma lista completa dos estados e tipos de progresso, consulte State e ProgressType.
Informações de navegação

Posição da entrada do passo para que possa compreender melhor a hierarquia e o fluxo do fluxo de trabalho, por exemplo, que entradas de passos vêm antes ou depois da entrada do passo atual, ou quais são pais ou filhos da entrada do passo.

Para obter detalhes, consulte o artigo NavigationInfo.
Metadados

Dados relacionados com uma entrada de passo iterativo, que podem incluir o seguinte:

  • Um ID que indica a ramificação secundária, por exemplo, qual STEP_PARALLEL_BRANCH_ENTRY em STEP_PARALLEL_BRANCH
  • A iteração de um ciclo for, por exemplo, qual STEP_FOR_ITERATION em STEP_FOR
Para ver detalhes, consulte StepEntryMetadata.
Exceções Payload relacionado com quaisquer exceções e que fornece uma descrição do motivo pelo qual uma entrada de passo falhou.

Informações detalhadas de entrada de passos

Metadados

Se aplicável, o número esperado de iterações no progresso do passo, por exemplo, quando usar um ciclo for, um ramo paralelo ou uma iteração.

Tenha em atenção que a contagem calculada não funciona como esperado se os limites do ciclo incluírem expressões que incorporem qualquer um dos seguintes elementos:

  • Uma profundidade de expressão aninhada que excede 10
  • Funções integradas que não sejam len()
  • Avaliações que envolvem valores como .inf, -.inf, .NAN, Infinity ou -Infinity
  • Erros
Para ver detalhes, consulte StepEntryMetadata.
Dados variáveis

Dados relacionados com valores de variáveis no âmbito associados a este passo, incluindo os nomes e os valores das variáveis locais definidas pelo utilizador e os resultados das avaliações de expressões.

Tenha em atenção que o âmbito exclui as variáveis internas associadas às funções incorporadas dos fluxos de trabalho.

Para obter detalhes, consulte VariableData.

Veja as entradas de passos na consola

Pode ver as entradas de passos para uma execução de fluxo de trabalho específica na Google Cloud consola.

  1. Na Google Cloud consola, aceda à página Fluxos de trabalho.

    Aceda a Fluxos de trabalho

  2. Clique no nome do fluxo de trabalho para aceder à respetiva página Detalhes do fluxo de trabalho.

  3. Para ver detalhes sobre uma execução específica, clique no respetivo ID de execução.

    No separador Resumo, são fornecidas informações sobre a execução geral, incluindo qualquer exceção que tenha levado à falha da execução. Para mais informações, consulte Mapas de erros de execução.

  4. Para ver o histórico de execução do fluxo de trabalho como uma lista de entradas de passos, clique no separador Passos.

    São apresentadas todas as entradas de passos para a execução do fluxo de trabalho.

  5. Para filtrar as entradas de passos, use o campo Filtro na parte superior da tabela para selecionar uma propriedade e um valor, por exemplo, State: Failed.

  6. Para apresentar links para quaisquer entradas de passos Parent, Children, Next e Previous, clique numa entrada de passo específica.

    Se clicar num link, os outros links são atualizados automaticamente. Por exemplo, o elemento Parent vai criar um link para o elemento principal da entrada de passos em que clicou.

  7. O painel Visualização oferece uma representação gráfica dos passos no fluxo de trabalho e ajuda a compreender o caminho do fluxo de trabalho.

    Exemplo de painel de visualização

    Clique no diagrama para o aumentar:

    Painel de visualização que apresenta o fluxo de trabalho com passos com falhas

    Tenha em atenção que a visualização pode diferir das entradas de passos. Por exemplo, um bloco for é representado como um único componente na visualização. No entanto, dependendo do número de iterações, podem existir várias entradas de passos.

    Pode fazer o seguinte no painel:

    • Aumente ou diminua o zoom da visualização
    • Reduza ou expanda as entradas de passos principais
    • Clique numa entrada de passos e veja as entradas anteriores e seguintes
    • Confirme as entradas de passos bem-sucedidas e falhadas, conforme indicado por uma marca de verificação verde ou um ponto de exclamação vermelho
    • Feche o painel Visualização clicando na seta de expansão. Clique novamente para abrir o painel

Antes de obter uma entrada de passos

Para receber as autorizações de que precisa para obter uma entrada de passo, peça ao seu administrador que lhe conceda a função Administrador de fluxos de trabalho (workflows.stepEntries.get) da IAM no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Obtenha uma entrada de passo

Para obter uma entrada de passo para uma determinada execução do fluxo de trabalho, use o método projects.locations.workflows.executions.stepEntries.get.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto indicado na página IAM e administrador Definições.
  • LOCATION: a região na qual o fluxo de trabalho é implementado, por exemplo, us-central1.
  • WORKFLOW_ID: o nome definido pelo utilizador para o fluxo de trabalho, por exemplo, myFirstWorkflow.
  • EXECUTION_ID: o ID exclusivo de uma execução do fluxo de trabalho que é devolvido após a execução de um fluxo de trabalho.
  • STEPENTRY_ID: o ID exclusivo de uma entrada de passos, por exemplo, 1.

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID",
  "createTime": "2024-08-15T19:03:08.328851864Z",
  "updateTime": "2024-08-15T19:03:08.331099634Z",
  "routine": "main",
  "step": "checkSearchTermInInput",
  "stepType": "STEP_CONDITION",
  "state": "STATE_SUCCEEDED",
  "entryId": "2",
  "navigationInfo": {
    "children": [
      "3"
    ],
    "parent": "1",
    "next": "3",
    "previous": "1"
  },
  "variableData": {}
}

Antes de listar entradas de passos

Para receber as autorizações de que precisa para listar as entradas de passos, peça ao seu administrador para lhe conceder a função IAM de administrador dos fluxos de trabalho (workflows.stepEntries.list) no seu projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Listar entradas de passos

Para listar as entradas de passos para uma determinada execução do fluxo de trabalho, use o método projects.locations.workflows.executions.stepEntries.list. Por predefinição, os resultados são devolvidos por ordem ascendente da createTime das entradas de passos.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto indicado na página IAM e administrador Definições.
  • LOCATION: a região na qual o fluxo de trabalho é implementado, por exemplo, us-central1.
  • WORKFLOW_ID: o nome definido pelo utilizador para o fluxo de trabalho, por exemplo, myFirstWorkflow.
  • EXECUTION_ID: o ID exclusivo de uma execução do fluxo de trabalho que é devolvido após a execução de um fluxo de trabalho.

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "stepEntries": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/1",
      "createTime": "2024-08-15T19:03:08.328807964Z",
      "updateTime": "2024-08-15T19:03:08.331099694Z",
      "routine": "main",
      "step": "checkSearchTermInInput",
      "stepType": "STEP_SWITCH",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2"
        ],
        "next": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/2",
      "createTime": "2024-08-15T19:03:08.328851864Z",
      "updateTime": "2024-08-15T19:03:08.331099634Z",
      "routine": "main",
      "step": "checkSearchTermInInput",
      "stepType": "STEP_CONDITION",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3"
        ],
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/3",
      "createTime": "2024-08-15T19:03:08.331037314Z",
      "updateTime": "2024-08-15T19:03:08.331099554Z",
      "routine": "main",
      "step": "checkSearchTermInInput.condition1",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "variableData": {
        "variables": {
          "input": {
            "searchTerm": "asia"
          },
          "searchTerm": "asia"
        }
      }
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/4",
      "createTime": "2024-08-15T19:03:08.331100404Z",
      "updateTime": "2024-08-15T19:03:08.633741469Z",
      "routine": "main",
      "step": "readWikipedia",
      "stepType": "STEP_CALL",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "next": "5",
        "previous": "3"
      },
      "variableData": {}
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/5",
      "createTime": "2024-08-15T19:03:08.633969694Z",
      "updateTime": "2024-08-15T19:03:08.634063018Z",
      "routine": "main",
      "step": "returnOutput",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "previous": "4"
      },
      "variableData": {
        "variables": {
          "wikiResult": {
            "headers": {
              ...
            },
            "body": [
              ...
            ],
            "code": 200
          },
          "input": {
            "searchTerm": "asia"
          },
          "searchTerm": "asia"
        }
      }
    }
  ],
  "totalSize": 5
}

Elimine entradas de passos

Para eliminar todas as entradas de passos para uma determinada execução do fluxo de trabalho, use o método projects.locations.workflows.executions.deleteExecutionHistory.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • WORKFLOW_NAME: o nome do fluxo de trabalho.
  • PROJECT_NUMBER: o número do seu Google Cloud projeto.
  • LOCATION: a região na qual o fluxo de trabalho é implementado. Por exemplo, us-central1.
  • EXECUTION_ID: o ID da execução para a qual as entradas de passos devem ser eliminadas.

Para enviar o seu pedido, expanda uma destas opções:

Se for bem-sucedido, o corpo da resposta está vazio.

Exemplos

Fluxo de trabalho com um bloco for

Fluxo de trabalho

YAML

- assignStep:
    assign:
      - sum: 0
- forStep:
    for:
      range: [1, 2]
      value: v
      steps:
        - sumStep:
            assign:
              - sum: ${sum + v}
- returnStep:
    return: ${sum}

JSON

[
  {
    "assignStep": {
      "assign": [
        {
          "sum": 0
        }
      ]
    }
  },
  {
    "forStep": {
      "for": {
        "range": [
          1,
          2
        ],
        "value": "v",
        "steps": [
          {
            "sumStep": {
              "assign": [
                {
                  "sum": "${sum + v}"
                }
              ]
            }
          }
        ]
      }
    }
  },
  {
    "returnStep": {
      "return": "${sum}"
    }
  }
]

Diagrama

Fluxo de trabalho com um bloco for
Figura 1. Fluxo de trabalho com um bloco for (clique no diagrama para o ampliar).

Entradas de passos

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/1",
      "createTime": "2024-08-15T19:32:18.119578307Z",
      "updateTime": "2024-08-15T19:32:18.119661828Z",
      "routine": "main",
      "step": "assignStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "next": "2"
      },
      "variableData": {
        "variables": {
          "sum": 0
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/2",
      "createTime": "2024-08-15T19:32:18.119662643Z",
      "updateTime": "2024-08-15T19:32:18.120893531Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3",
          "5"
        ],
        "next": "3",
        "previous": "1"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "expectedIteration": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/3",
      "createTime": "2024-08-15T19:32:18.119732820Z",
      "updateTime": "2024-08-15T19:32:18.120463449Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR_ITERATION",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "children": [
          "4"
        ],
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/4",
      "createTime": "2024-08-15T19:32:18.119737066Z",
      "updateTime": "2024-08-15T19:32:18.120463358Z",
      "routine": "main",
      "step": "sumStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "parent": "3",
        "next": "5",
        "previous": "3"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "1"
      },
      "variableData": {
        "variables": {
          "sum": 1,
          "v": 1
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/5",
      "createTime": "2024-08-15T19:32:18.120465172Z",
      "updateTime": "2024-08-15T19:32:18.120893471Z",
      "routine": "main",
      "step": "forStep",
      "stepType": "STEP_FOR_ITERATION",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "children": [
          "6"
        ],
        "parent": "2",
        "next": "6",
        "previous": "4"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/6",
      "createTime": "2024-08-15T19:32:18.120470187Z",
      "updateTime": "2024-08-15T19:32:18.120893389Z",
      "routine": "main",
      "step": "sumStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "6",
      "navigationInfo": {
        "parent": "5",
        "next": "7",
        "previous": "5"
      },
      "stepEntryMetadata": {
        "progressType": "PROGRESS_TYPE_FOR",
        "progressNumber": "2"
      },
      "variableData": {
        "variables": {
          "sum": 3,
          "v": 2
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-for-block/executions/0bc47b85-a399-4101-b629-1f623802e32d/stepEntries/7",
      "createTime": "2024-08-15T19:32:18.120894873Z",
      "updateTime": "2024-08-15T19:32:18.121003185Z",
      "routine": "main",
      "step": "returnStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "7",
      "navigationInfo": {
        "previous": "6"
      },
      "variableData": {
        "variables": {
          "sum": 3
        }
      }
    }
  ],
  "totalSize": 7
}

Fluxo de trabalho com uma chamada de subfluxo de trabalho

Fluxo de trabalho

YAML

main:
  steps:
    - callStep:
        call: square
        args:
          x: 10
        result: t
    - retStep:
        return: ${t}
square:
  params: [x]
  steps:
    - assignStep:
        assign:
          - y: ${x*x}
    - retStep:
        return: ${y}

JSON

{
  "main": {
    "steps": [
      {
        "callStep": {
          "call": "square",
          "args": {
            "x": 10
          },
          "result": "t"
        }
      },
      {
        "retStep": {
          "return": "${t}"
        }
      }
    ]
  },
  "square": {
    "params": [
      "x"
    ],
    "steps": [
      {
        "assignStep": {
          "assign": [
            {
              "y": "${x*x}"
            }
          ]
        }
      },
      {
        "retStep": {
          "return": "${y}"
        }
      }
    ]
  }
}

Diagrama

Fluxo de trabalho com uma chamada de subfluxo de trabalho
Figura 2. Fluxo de trabalho com uma chamada de subfluxo de trabalho (clique no diagrama para o ampliar).

Entradas de passos

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/1",
      "createTime": "2024-08-15T19:37:44.162778920Z",
      "updateTime": "2024-08-15T19:37:44.168683007Z",
      "routine": "main",
      "step": "callStep",
      "stepType": "STEP_CALL",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2",
          "3"
        ],
        "next": "2"
      },
      "variableData": {
        "variables": {
          "t": 100
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/2",
      "createTime": "2024-08-15T19:37:44.168598736Z",
      "updateTime": "2024-08-15T19:37:44.168657969Z",
      "routine": "square",
      "step": "assignStep",
      "stepType": "STEP_ASSIGN",
      "state": "STATE_SUCCEEDED",
      "entryId": "2",
      "navigationInfo": {
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {
        "variables": {
          "y": 100,
          "x": 10
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/3",
      "createTime": "2024-08-15T19:37:44.168659349Z",
      "updateTime": "2024-08-15T19:37:44.168676547Z",
      "routine": "square",
      "step": "retStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "3",
      "navigationInfo": {
        "parent": "1",
        "next": "4",
        "previous": "2"
      },
      "variableData": {
        "variables": {
          "x": 10,
          "y": 100
        }
      }
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-subworkflow-call/executions/e203bc96-a1cf-47ba-b6de-f3d1b0909664/stepEntries/4",
      "createTime": "2024-08-15T19:37:44.168693503Z",
      "updateTime": "2024-08-15T19:37:44.168702324Z",
      "routine": "main",
      "step": "retStep",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "previous": "3"
      },
      "variableData": {
        "variables": {
          "t": 100
        }
      }
    }
  ],
  "totalSize": 4
}

Fluxo de trabalho com uma entrada de passo com falha

Fluxo de trabalho

YAML

- tryStep:
    try:
      return: ${1 / 0}
    except:
      return: 0

JSON

[
  {
    "tryStep": {
      "try": {
        "return": "${1 / 0}"
      },
      "except": {
        "return": 0
      }
    }
  }
]

Diagrama

Fluxo de trabalho com uma entrada de passo com falha
Figura 3. Fluxo de trabalho com uma entrada de etapa com falha (clique no diagrama para o ampliar).

Entradas de passos

{
  "stepEntries": [
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/1",
      "createTime": "2024-08-15T19:42:51.415433810Z",
      "updateTime": "2024-08-15T19:42:51.416106923Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_TRY_RETRY_EXCEPT",
      "state": "STATE_SUCCEEDED",
      "entryId": "1",
      "navigationInfo": {
        "children": [
          "2",
          "4"
        ],
        "next": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/2",
      "createTime": "2024-08-15T19:42:51.415439617Z",
      "updateTime": "2024-08-15T19:42:51.416065206Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_TRY",
      "state": "STATE_FAILED",
      "entryId": "2",
      "navigationInfo": {
        "children": [
          "3"
        ],
        "parent": "1",
        "next": "3",
        "previous": "1"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/3",
      "createTime": "2024-08-15T19:42:51.415441815Z",
      "updateTime": "2024-08-15T19:42:51.416064665Z",
      "routine": "main",
      "step": "tryStep.try",
      "stepType": "STEP_RETURN",
      "state": "STATE_FAILED",
      "exception": {
        "payload": "{\"message\":\"ZeroDivisionError: division by zero\",\"tags\":[\"ZeroDivisionError\",\"ArithmeticError\"]}"
      },
      "entryId": "3",
      "navigationInfo": {
        "parent": "2",
        "next": "4",
        "previous": "2"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/4",
      "createTime": "2024-08-15T19:42:51.416071869Z",
      "updateTime": "2024-08-15T19:42:51.416106840Z",
      "routine": "main",
      "step": "tryStep",
      "stepType": "STEP_EXCEPT",
      "state": "STATE_SUCCEEDED",
      "entryId": "4",
      "navigationInfo": {
        "children": [
          "5"
        ],
        "parent": "1",
        "next": "5",
        "previous": "3"
      },
      "variableData": {}
    },
    {
      "name": "projects/1051295516635/locations/us-central1/workflows/workflow-failed-step/executions/a19d20d1-e446-4d37-b548-8005297b7d3d/stepEntries/5",
      "createTime": "2024-08-15T19:42:51.416087217Z",
      "updateTime": "2024-08-15T19:42:51.416106742Z",
      "routine": "main",
      "step": "tryStep.except",
      "stepType": "STEP_RETURN",
      "state": "STATE_SUCCEEDED",
      "entryId": "5",
      "navigationInfo": {
        "parent": "4",
        "previous": "4"
      },
      "variableData": {}
    }
  ],
  "totalSize": 5
}

O que se segue?