查看執行步驟記錄

您可以擷取指定工作流程執行的記錄,做為步驟項目清單。每個步驟項目都會提供資訊,協助您分析、偵錯或最佳化工作流程。舉例來說,您可以確認實際執行的步驟,並判斷步驟的持續時間和成功與否。這在偵錯大型或複雜的非線性工作流程 (例如有許多平行分支的工作流程) 時,特別有幫助。

步驟項目代表原始碼中的實際步驟 (例如 assigncall),或是指令區塊 (例如 for 迴圈或 try/retry/except 區塊)。如需步驟類型的完整清單,請參閱「StepType」。

執行記錄等級

建立執行工作流程時,您可以指定「基本」或「詳細」執行記錄。您可以在工作流程或執行層級套用這項設定。

根據預設,系統不會指定任何執行記錄層級,且會傳回「基本」步驟項目。

如要讓執行記錄包含任何適用範圍內的變數值,以及預期的疊代次數 (例如使用 for 迴圈,或平行分支或疊代時),您必須將執行記錄層級設為「詳細」

如果未指定執行作業的執行記錄層級,系統會根據套用至工作流程的層級判斷。如果層級不同,系統會套用執行層級的設定,覆寫該執行作業的工作流程層級設定。

如何擷取步數記錄

您可以透過傳送要求至 Workflow Executions REST API,或透過 Google Cloud 控制台擷取步驟項目:

步驟輸入資訊

步驟項目包含下列資訊:詳細的步數記錄也會包含基本步數記錄資訊。

詳情請參閱本文的「範例」一節。

基本步數記錄資訊

名稱 步驟項目的完整資源名稱,是具有下列格式的專屬 ID,其中 STEPENTRY_ID 是遞增計數器:
projects/PROJECT_NUMBER/locations/LOCATION/workflows/WORKFLOW_ID/executions/EXECUTION_ID/stepEntries/STEPENTRY_ID
例如:
projects/123456789012/locations/us-central1/workflows/myFirstWorkflow/executions/ae8a66a1-cefa-4d16-8a2f-d50c712d8ef1/stepEntries/2
建立及更新時間 步驟項目的建立時間和最近一次更新的時間戳記。如果步驟項目已完成,updateTime 會顯示完成時間。
日常安排和步驟名稱 步驟項目所屬的處理常式和步驟名稱。常式名稱是 YAML 或 JSON 原始碼中定義的子工作流程名稱。頂層常式名稱為 main
狀態和進度類型 步驟項目的狀態,例如項目是否成功或失敗,或是步驟項目是否正在進行中,以及進度類型。如需狀態和進度類型的完整清單,請參閱「State」和「ProgressType」。
導航資訊

步驟項目的位置,方便您瞭解工作流程的階層和流程,例如目前步驟項目之前或之後的步驟項目,或是步驟項目的父項或子項。

詳情請參閱「NavigationInfo」。
中繼資料

與疊代步驟項目相關的資料,可能包括:

  • 表示子執行緒的 ID,例如 STEP_PARALLEL_BRANCH 中的 STEP_PARALLEL_BRANCH_ENTRY
  • for 迴圈的疊代,例如 STEP_FOR_ITERATION 中的 STEP_FORSTEP_FOR_ITERATION
詳情請參閱 StepEntryMetadata
例外狀況 與任何例外狀況相關的酬載,並提供步驟項目失敗原因的說明。

詳細的步數記錄資訊

中繼資料

如果適用,步驟進度中預期的疊代次數,例如使用 for 迴圈、平行分支或疊代時。

請注意,如果迴圈界限包含納入下列任一項的運算式,計算出的計數將無法正常運作:

  • 巢狀運算式深度超過 10
  • len() 以外的內建函式
  • 評估內容涉及 .inf-.inf.NANInfinity-Infinity 等值
  • 錯誤
詳情請參閱 StepEntryMetadata
變數資料

與這個步驟相關的範圍內變數值資料,包括使用者定義的本機變數名稱和值,以及運算式評估結果。

請注意,範圍不包括與 Workflows 內建函式連結的內部變數。

詳情請參閱「VariableData」。

在控制台中查看步驟項目

您可以在Google Cloud 控制台中,查看特定工作流程執行的步驟項目。

  1. 前往 Google Cloud 控制台的「Workflows」頁面。

    前往「Workflows」頁面

  2. 按一下工作流程名稱,前往「Workflow details」(工作流程詳細資料) 頁面。

  3. 如要查看特定執行作業的詳細資料,請按一下執行作業 ID。

    「摘要」分頁會提供整體執行作業的相關資訊,包括導致執行作業失敗的任何例外狀況。詳情請參閱「執行錯誤對應」。

  4. 如要以步驟項目的清單形式查看工作流程執行記錄,請按一下「步驟」分頁標籤。

    系統會列出工作流程執行的所有步驟項目。

  5. 如要篩選步驟項目,請使用表格頂端的「Filter」(篩選條件) 欄位選取屬性和值,例如 State: Failed

  6. 如要顯示任何「上層」、「子項」、「下一步」和「上一步」步驟項目的連結,請點選特定步驟項目。

    點選連結後,其他連結會自動更新。舉例來說,「父項」會連結至您點選的步驟項目的父項。

  7. 「視覺化」面板會以圖形呈現工作流程中的步驟,協助您瞭解工作流程路徑。

    視覺化面板範例

    點選圖表即可放大:

    「視覺化」面板顯示工作流程,其中包含失敗的步驟

    請注意,視覺化呈現方式可能與步驟項目不同。舉例來說,在視覺化圖表中,for 區塊會顯示為單一元件,但根據疊代次數,可能有多個步驟項目。

    您可以在面板中執行下列操作:

    • 放大或縮小視覺化內容
    • 收合或展開父項步驟項目
    • 按一下步數記錄,即可查看前一筆和後一筆記錄
    • 確認成功和失敗的步驟項目,分別以綠色勾號或紅色驚嘆號表示
    • 按一下展開箭頭 關閉「圖表」面板;再次點按即可開啟面板

擷取步數記錄前的注意事項

如要取得擷取步驟項目的權限,請要求管理員授予您專案的 Workflows 管理員 (workflows.stepEntries.get) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

擷取步驟項目

如要擷取特定工作流程執行的步驟項目,請使用 projects.locations.workflows.executions.stepEntries.get 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_NUMBER:您的 Google Cloud 專案編號會列在「IAM 與管理」 「設定」頁面。
  • LOCATION:工作流程部署所在的區域,例如 us-central1
  • WORKFLOW_ID:使用者定義的工作流程名稱,例如 myFirstWorkflow
  • EXECUTION_ID:工作流程執行作業的專屬 ID,工作流程執行後會傳回這個 ID。
  • STEPENTRY_ID:步驟項目的專屬 ID,例如 1

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "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": {}
}

列出步驟項目之前

如要取得列出步驟項目的權限,請要求管理員授予您專案的「Workflows 管理員」(workflows.stepEntries.list) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

列出步驟項目

如要列出特定工作流程執行的步驟項目,請使用 projects.locations.workflows.executions.stepEntries.list 方法。根據預設,系統會依步數記錄的 createTime 遞增順序傳回結果。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_NUMBER:您的 Google Cloud 專案編號會列在「IAM & Admin Settings」(IAM 與管理設定) 頁面。
  • LOCATION:工作流程部署所在的區域,例如 us-central1
  • WORKFLOW_ID:使用者定義的工作流程名稱,例如 myFirstWorkflow
  • EXECUTION_ID:工作流程執行作業的專屬 ID,工作流程執行後會傳回這個 ID。

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "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
}

刪除步數記錄

如要刪除特定工作流程執行作業的所有步驟項目,請使用 projects.locations.workflows.executions.deleteExecutionHistory 方法。

使用任何要求資料之前,請先修改下列項目的值:

  • WORKFLOW_NAME:工作流程的名稱。
  • PROJECT_NUMBER:您的 Google Cloud專案編號。
  • LOCATION:工作流程部署所在的區域,例如 us-central1
  • EXECUTION_ID:要刪除步驟項目的執行作業 ID。

請展開以下其中一個選項,以傳送要求:

如果成功,回應主體會留白。

範例

含有 for 區塊的工作流程

工作流程

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

圖表

使用 for 區塊的工作流程
圖 1. 含有 for 區塊的工作流程 (按一下即可放大)。

步驟項目

{
  "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
}

工作流程 (含子工作流程呼叫)

工作流程

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

圖表

工作流程 (含子工作流程呼叫)
圖 2. 含有子工作流程呼叫的工作流程 (按一下圖表即可放大)。

步驟項目

{
  "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
}

工作流程含有失敗的步驟項目

工作流程

YAML

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

JSON

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

圖表

工作流程含有失敗的步驟項目
圖 3. 工作流程,其中一個步驟項目失敗 (按一下圖表可放大)。

步驟項目

{
  "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
}

後續步驟