查看工作流程執行¶
「查詢工作流程執行」任務會用一個執行識別碼 (Execution ARN) 去查詢某次工作流程執行的狀態與結果,而不是啟動新的執行。最常見的用法是:先用 Start Workflow Execution 非同步觸發子工作流程拿到 ARN,之後再用這個任務去檢查它跑完了沒、結果是什麼。若要同步啟動並直接等結果,請用 Start Sync Workflow Execution。
這頁能幫你做什麼¶
- 檢查非同步啟動的子工作流程目前的狀態(執行中、成功、失敗、逾時)。
- 取回已完成執行的輸出 (
output),供後續步驟使用。 - 搭配 Wait 狀態或重試邏輯,做出「輪詢直到完成」的協調模式。
- 依執行狀態建立條件分支(例如成功才繼續、失敗就走補救流程)。
開始前¶
前置需求
- 你需要一個有效的執行 ARN。通常來自先前的 Start Workflow Execution(它會回傳
executionArn),把這個值存進工作流程狀態後再傳給本任務。
執行 ARN 是什麼?
ARN 是 AWS 給「某一次工作流程執行」的一串唯一識別字串,可以想成這次執行的收據編號。本任務不會自己生出 ARN,而是拿著別人給的 ARN 去查那一次執行的狀態與結果。新手通常不必手打 ARN,而是把上一步「執行工作流程」回傳的 executionArn 接過來用。在 UI 詳細頁看到這串 ARN 時,旁邊的 複製與 開啟連結按鈕用法(含「開啟連結會導向 AWS 主控台」的注意事項)見 ARN 欄位的「複製」與「開啟連結」。
最小可跟做範例:先觸發、再查詢¶
把兩個任務串起來,就能「先啟動子工作流程,再回頭查它跑完沒」:
- 第一步放一個 執行工作流程 任務,挑好要呼叫的子工作流程。它執行後會回傳
executionArn。 - 第一步的「輸入與輸出」設定讓回傳結果存進狀態(例如存到
$.child_execution_arn)。 - 第二步放本任務(查看工作流程執行),在「執行 ARN」填
$.child_execution_arn,把上一步拿到的 ARN 傳進來查詢。 - 試跑後即可在輸出看到該次執行的
status(執行中/成功/失敗)與output。
操作步驟¶
-
在工作流程編輯器中新增一個「查看工作流程執行」(Describe Workflow Execution) 節點(在「新增狀態」面板的調色盤中標籤為中文「查看工作流程執行」,請以此搜尋;通用步驟見 Action 使用指南)。

-
點選節點,右側開啟設定表單。
- 在「名稱」填入這個步驟的識別名稱。
- 在「執行 ARN」填入要查詢的執行識別碼,通常用 JSONPath 從狀態帶入,例如
$.child_execution_arn。 -
視需要展開「執行設定」調整外部記憶體、串流與錯誤處理行為。

-
選擇「下一個狀態」,存檔後可用表單上方的測試按鈕()試跑並檢視回傳的
status與output。
完整欄位說明¶
下表為這個任務在「設定」分頁的特有欄位。共用欄位(下一個狀態、附註、輸入與輸出分頁、錯誤處理分頁)的完整說明集中在 Action 通用設定。
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 名稱 | 是 | 無 | 這個步驟在工作流程裡的識別名稱,須在同一工作流程內唯一。 |
| 執行 ARN | 是 | 無 | 要查詢的工作流程執行識別碼。可直接貼上 ARN,或用 JSONPath($ 開頭)從目前狀態動態帶入,例如 $.child_execution_arn。此值通常來自先前 Start Workflow Execution 的回傳。 |
Note
這個任務只有「執行 ARN」一個特有輸入欄位,沒有「執行來源」「工作流程」「輸入」等啟動類欄位,因為它是用既有的 ARN 查詢、而非啟動新執行。
執行設定(摺疊區塊)¶
在「設定」分頁底部展開「執行設定」可看到下列欄位,控制這個步驟實際執行時的行為。
| 欄位 | 必填 | 預設 | 說明 |
|---|---|---|---|
| 上傳輸出至外部記憶體 | 否 | 關閉 | 開關。查回來的輸出資料量很大時開啟,把輸出改存到外部記憶體。開啟後會多出選擇器設定,指定要把哪部分輸出存到外部記憶體。 |
| 在任務開始階段開啟即時輸出串流 | 否 | 關閉 | 開關。開啟後,任務開始時把任務定義以串流方式即時送到執行頁面顯示。 |
| 在任務結束階段開啟即時輸出串流 | 否 | 關閉 | 開關。開啟後,任務結束時把結果以串流方式即時送到執行頁面顯示。 |
| 錯誤時中止 | 否 | 開啟 | 開關。開啟(預設)代表此步驟出錯時整個工作流程中止;關閉後改用下方「預設輸出」繼續往下走。 |
| 預設輸出 | 否 | 無 | 僅在「錯誤時中止」關閉時出現。指定此步驟出錯時要改用的預設輸出值,讓流程能用替代結果繼續。 |
Note
外部記憶體選擇器的細部操作見 外部記憶體;串流與錯誤處理欄位與其他任務共用,見 Action 通用設定。
實際範例¶
設定內容:
- 執行 ARN:
$.child_execution_arn
工作流程輸入:
{
"child_execution_arn": "arn:aws:states:us-east-1:123456789012:execution:process-order:exec-abc123"
}
測試執行的輸出(執行中):
{
"errors": null,
"action_type": "describe_workflow_execution_action",
"status": "RUNNING",
"output": {}
}
測試執行的輸出(已成功):
{
"errors": null,
"action_type": "describe_workflow_execution_action",
"status": "SUCCEEDED",
"output": {
"order_id": "ORD-12345",
"status": "processed",
"payment_confirmed": true
}
}
可依 status 欄位(如 RUNNING、SUCCEEDED、FAILED、TIMED_OUT)做條件分支;狀態為 SUCCEEDED 時,再用 $.output 取用子工作流程的結果。
輪詢策略
搭配 Wait 狀態或錯誤處理分頁的重試邏輯,可定期重複查詢,直到 status 變成 SUCCEEDED 為止;設計輪詢間隔時請一併考慮子工作流程的逾時時間。
三種工作流程執行任務的差別¶
| 任務 | 行為 | 何時用 |
|---|---|---|
| Start Workflow Execution | 非同步觸發,不等結果,只回傳 ARN | 背景作業、平行展開、送出即可的通知 |
| Start Sync Workflow Execution | 同步觸發並等待,回傳子工作流程的輸出 | 需要子工作流程的結果才能繼續時 |
| Describe Workflow Execution(本頁) | 用 ARN 查詢某次執行的狀態與結果 | 追蹤、輪詢非同步啟動的子工作流程 |
下一步¶
- 先用 Start Workflow Execution 取得要查詢的執行 ARN。
- 到 工作流程執行與結果 查看執行紀錄與輸出。
- 回到 Action 通用設定 了解共用欄位。