查看執行步驟的記錄

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

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

執行記錄等級

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

根據預設,系統不會指定執行記錄層級,並傳回「Basic」步驟項目。

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

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

如何擷取步驟項目

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

  • Google Cloud 主控台:請參閱本文的「在主控台中查看步驟項目」一節。

    除了列出步驟項目及其詳細資料,控制台還會以圖形呈現執行步驟,方便您查看及分析工作流程執行路徑。

  • Workflow Executions REST API:請參閱本文件中的「擷取步驟項目」和「列出步驟項目」。

步驟輸入資訊

步驟項目包含下列資訊。詳細步驟項目也包含基本步驟項目資訊。

如需更多資訊,請參閱本文件中的「範例」。

基本步驟輸入資訊

名稱 步驟項目的完整資源名稱,這是具有下列格式的專屬 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
狀態和進度類型 步驟項目的狀態,例如項目是否已成功或失敗,或步驟項目是否正在進行,以及進度類型。如需狀態和進度類型的完整清單,請參閱「狀態」和「ProgressType」。
導覽資訊

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

詳情請參閱 NavigationInfo
中繼資料

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

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

詳細步驟輸入資訊

中繼資料

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

請注意,如果迴圈邊界包含納入下列任何項目的運算式,計算出的計數結果就不會正常運作:

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

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

請注意,範圍會排除與工作流程內建函式連結的內部變數。

詳情請參閱 VariableData

在主控台中查看步驟項目

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

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

    前往「Workflows」頁面

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

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

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

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

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

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

  6. 如要顯示任何「Parent」、「Children」、「Next」和「Previous」步驟項目的連結,請按一下特定步驟項目。

    點選其中一個連結後,其他連結會自動更新。舉例來說,父項會連結至您按一下的步驟項目父項。

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

    視覺化資訊窗格範例

    按一下圖表可放大:

    視覺化面板顯示含有失敗步驟的工作流程

    請注意,視覺化效果可能與步驟輸入內容不同。舉例來說,在視覺化中,for 區塊會以單一元件呈現;不過,視疊代次數而定,可能會有多個步驟項目。

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

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

擷取步數記錄前

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

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

擷取步驟項目

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

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_NUMBER:您在「IAM 與管理員設定」頁面中列出的 Google Cloud專案編號。
  • LOCATION:工作流程的區域,例如 us-central1
  • WORKFLOW_ID:工作流程的使用者定義名稱,例如 myFirstWorkflow
  • EXECUTION_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 Admin (workflows.stepEntries.list) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

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

列出步驟項目

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

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_NUMBER:您在「IAM 與管理員設定」頁面中列出的 Google Cloud專案編號。
  • LOCATION:工作流程的區域,例如 us-central1
  • WORKFLOW_ID:工作流程的使用者定義名稱,例如 myFirstWorkflow
  • EXECUTION_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
}

後續步驟