本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
標準與快速工作流程
建立狀態機時,您可以選取「標準」或「快速」的「類型」。狀態機器的預設「類型」為「標準」。「類型」為「標準」的狀態機稱為「標準」工作流程,而「類型」為「快速」的狀態機稱為 Express 工作流程。
對於標準工作流程和 Express 工作流程,您可以使用定義狀態機器Amazon States Language。根據您選取的類型,狀態機器執行的行為會有所不同。
重要
建立狀態機後,您選擇的「類型」無法變更。
注意
如果您在 Step Functions 的控制台之外定義狀態機器,例如在您選擇的編輯器中,則必須使用擴展名為. asl.json 來保存狀態機定義。
標準工作流程非常適合長時間執行 (長達一年)、耐用且可稽核的工作流程。您可以使用 Step Functions API 擷取完整的執行歷史記錄,最多可在執行完成後 90 天。標準工作流程只遵循一次的模型,除非您在 ASL 中指定了行為,否則您的任務和狀態永遠不會執Retry
行一次以上。這使得標準工作流程適合協調非冪等動作,例如啟動 Amazon EMR 叢集或處理付款。標準工作流程執行會根據處理的狀態轉換數量計費。
快速工作流程適合大量事件處理工作負載,例如 IoT 資料擷取、串流資料處理和轉換,以及行動應用程式後端。這種工作流程最多可以執行五分鐘。Express 工作流程採用at-least-once模型,其中執行可能會執行多次。這使得 Express 工作流程非常適合協調冪等動作,例如在 Amazon DynamoDB 中透過 PUT 動作轉換輸入資料和存放。Express Workflow 執行會依執行次數、執行持續時間,以及執行執行時耗用的記憶體計費。
標準和快速工作流程可以自動啟動,以回應事件,例如來自 Amazon API Gateway 的 HTTP 請求 (大規模完全受管 API)、IoT 規則以及 Amazon EventBridge 中 140 多個其他事件來源。
提示
若要將快速工作流程的範例部署到您的AWS 帳戶,請參閱模組 7-API Gateway、平行狀態、AWS Step Functions工作坊的快速工作流程
如需「標準」和「快速工作流程」執行之主控台體驗的相關資訊,請參閱主控台中的標準和快速工作流程執行。
標準與快速工作流程 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
標準工作流程 | 快速工作流程:同步和非同步 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
持續時間上限 | 一年 | 五分鐘 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
支援的執行啟動速率 |
如需與支援的執行開始率相關配額的詳細資訊,請參閱與 API 動作節流相關的配額。 |
如需與支援的執行開始率相關配額的詳細資訊,請參閱與 API 動作節流相關的配額。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
支援的狀態轉換速率 |
如需與支援的狀態轉換率相關配額的資訊,請參閱與狀態節流有關的配額。 |
沒有限制 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
定價 |
按狀態轉換的數量定價。每次執行中的步驟完成時,就會計算狀態轉換。 | 依您執行的執行次數、其持續時間和記憶體用量來計費。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
執行歷史記錄 |
可以使用 Step Functions API 列出和描述執行。可以通過控制台直觀地調試執行。您也可以在狀態機器上啟用記錄,在記錄 CloudWatch 檔中檢查這些資料。 如需有關在主控台中偵錯標準工作流程執行的詳細資訊,請參閱主控台中的標準和快速工作流程執行和檢視和偵錯執行。 |
無限制的執行歷史記錄,也就是說,您可以在 5 分鐘內產生的多個執行歷史記錄項目。 透過在狀態機器上啟用記錄,可以在記錄 CloudWatch 檔或 Step Functions 主控台中檢查執行。 如需有關在主控台中偵錯 Express 工作流程執行的詳細資訊,請參閱主控台中的標準和快速工作流程執行和檢視和偵錯執行。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
執行語義 | 只有一次工作流程執行。 | 非同步快速工作流程:t-least-once工作流程執行。 同步快速工作流程:t-most-once工作流程執行。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
服務整合 | 支援所有服務整合與模式。 | 支援所有服務整合。注意Express 工作流程不支援工作執行 ( |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Step Functions 活動 | 支援 Step Functions 活動。 | 不支援 Step Functions 活動。 |