在 Step Functions 中使用 Workflow Studio 建立工作流程 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Step Functions 中使用 Workflow Studio 建立工作流程

了解如何使用 Step Functions Workflow Studio 建立、編輯和執行工作流程。工作流程準備就緒後,您可以儲存、執行和匯出它。

建立狀態機器

在工作流程 Studio 中,您可以選擇入門範本或空白範本來建立工作流程。

入門範本是ready-to-run的範例專案,可自動建立工作流程原型和定義,並將專案所需的所有相關 AWS 資源部署至您的 AWS 帳戶。您可以使用這些入門範本以原狀部署和執行,或使用工作流程原型來建置這些範本。如需入門範本的詳細資訊,請參閱使用 Step Functions 的入門範本部署狀態機器

使用空白範本時,您可以使用設計程式碼模式來建立自訂工作流程。

使用入門範本建立狀態機器

  1. 開啟 Step Functions 主控台,然後選擇建立狀態機器

  2. 選擇範本對話方塊中,執行下列其中一項操作來選擇範例專案:

    • Task Timer 在依關鍵字搜尋方塊中輸入 ,然後從搜尋結果中選擇任務計時器

    • 瀏覽右側窗格中全部列出的範例專案,然後選擇任務計時器

  3. 選擇 Next (下一步) 繼續。

  4. 選擇執行示範以建立唯讀且ready-to-deploy的工作流程,或選擇建置在工作流程上,以建立可編輯的狀態機器定義,您可以建置在 和之後的部署上。

  5. 選擇使用範本以繼續您的選擇。

後續步驟取決於您先前的選擇:

  1. 執行示範 – 您可以在建立具有 已部署 AWS CloudFormation 至 之資源的唯讀專案之前,檢閱 狀態機器 AWS 帳戶。

    您可以檢視狀態機器定義,當您準備好時,請選擇部署並執行 以部署專案並建立 資源。

    部署最多可能需要 10 分鐘才能建立資源和許可。您可以使用 Stack ID 連結來監控 中的進度 AWS CloudFormation。

    部署完成後,您應該會在 主控台中看到新的狀態機器。

  2. 上面建置 – 您可以檢閱和編輯工作流程定義。在嘗試執行自訂工作流程之前,您可能需要為範例專案中的預留位置設定值。

注意

部署至您 帳戶的 服務,可能會收取標準費用。

使用空白範本建立工作流程

當您想要從乾淨的畫布開始,請從空白範本建立工作流程。

  1. 開啟 Step Functions 主控台

  2. 選擇 Create state machine (建立狀態機器)

  3. 選擇範本對話方塊中,選取空白

  4. 選擇選取以在 中開啟工作流程 Studio設計模式

    您現在可以開始在 中設計工作流程,設計模式或在 中撰寫工作流程定義程式碼模式

  5. 選擇組態以在 中管理工作流程的組態組態模式。例如,為您的工作流程提供名稱,然後選擇其類型。

設計工作流程

當您知道要新增的狀態名稱時,請使用 頂端的搜尋方塊狀態瀏覽器來尋找。否則,請在瀏覽器中尋找您需要的狀態,並將其新增至畫布。

您可以將工作流程中的狀態拖曳至工作流程中的不同位置,以重新排序。當您將狀態拖曳到畫布上時,會出現一行,顯示狀態將插入工作流程的位置,如下列螢幕擷取畫面所示:

顯示指示狀態目的地之藍線的說明性螢幕擷取畫面。

狀態捨棄至畫布後,其程式碼會自動產生,並新增至工作流程定義中。若要查看定義,請開啟 Inspector 面板上的定義切換。您可以選擇使用內建程式碼編輯器程式碼模式編輯定義。

在畫布上捨棄狀態後,您可以在右側的Inspector 面板面板中設定狀態。此面板包含您在畫布上放置的每個狀態或 API 動作的組態輸入輸出錯誤處理索引標籤。您可以在組態索引標籤中設定工作流程中包含的狀態。

例如,Lambda Invoke API 動作的組態索引標籤提供下列選項:

  • 狀態名稱:您可以使用自訂名稱識別狀態,或接受預設產生的名稱。

  • API 會顯示 狀態使用的 API 動作。

  • 整合類型:您可以選擇用來呼叫其他服務上 API 動作的服務整合類型

  • 函數名稱提供以下選項:

    • 輸入函數名稱:您可以輸入函數名稱或其 ARN。

    • 在執行時間從狀態輸入取得函數名稱:您可以使用此選項,根據您指定的路徑,動態地從狀態輸入取得函數名稱。

    • 選取函數名稱:您可以直接從帳戶和區域中可用的函數中選取。

  • 承載 :您可以選擇使用狀態輸入、JSON 物件或無承載,將承載傳遞至 Lambda 函數。如果您選擇 JSON,您可以同時包含靜態值和從狀態輸入中選取的值。

  • (選用) 有些狀態可以選擇等待任務完成等待回呼。如果可用,您可以選擇下列其中一種服務整合模式

    • 未選取選項:Step Functions 將使用請求回應整合模式。Step Functions 會等待 HTTP 回應,然後進入下一個狀態。Step Functions 不會等待任務完成。當沒有可用的選項時,狀態將使用此模式。

    • 等待任務完成:Step Functions 將使用執行任務 (.sync)整合模式。

    • 等待回呼:Step Functions 將使用使用任務權杖等待回呼整合模式。

  • (選用) 若要存取工作流程 AWS 帳戶 中不同 中設定的資源,Step Functions 會提供跨帳戶存取跨帳戶存取的 IAM 角色提供以下選項:

    • 提供 IAM 角色 ARN:指定包含適當資源存取許可的 IAM 角色。這些資源可在目標帳戶中使用,這是您進行跨帳戶呼叫 AWS 帳戶 的 。

    • 從狀態輸入在執行時間取得 IAM 角色 ARN:指定包含 IAM 角色的狀態 JSON 輸入中現有鍵/值對的參考路徑。

  • 下一個狀態可讓您選取您要轉換到下一個的狀態。

  • (選用) 註解欄位不會影響工作流程,但您可以使用它來註釋工作流程。

有些狀態會有額外的一般組態選項。例如,Amazon ECS RunTask 狀態組態包含填入預留位置值API Parameters的欄位。對於這些狀態,您可以將預留位置值取代為符合您需求的組態。

刪除狀態

您可以按退格鍵,按一下滑鼠右鍵並選擇刪除狀態,或在設計工具列上選擇刪除

執行您的工作流程

當您的工作流程準備就緒時,您可以執行它,並從 Step Functions 主控台檢視其執行。

在 Workflow Studio 中執行工作流程
  1. 設計程式碼組態模式中,選擇執行。

    開始執行對話方塊會在新索引標籤中開啟。

  2. 啟動執行對話方塊中,執行下列動作:

    1. (選用) 輸入自訂執行名稱以覆寫產生的預設值。

      非 ASCII 名稱和記錄

      Step Functions 接受包含非 ASCII 字元的狀態機器、執行、活動和標籤名稱。由於這類字元不適用於 Amazon CloudWatch,因此我們建議您僅使用 ASCII 字元,以便在 CloudWatch 中追蹤指標。

    2. (選用) 在輸入方塊中,輸入 JSON 格式的輸入值來執行工作流程。

    3. 選擇 Start execution (開始執行)

    4. Step Functions 主控台會引導您前往標題為執行 ID 的頁面。此頁面稱為執行詳細資訊頁面。在此頁面上,您可以在執行進行時或完成後檢閱執行結果。

      若要檢閱執行結果,請在圖形檢視中選擇個別狀態,然後選擇步驟詳細資訊窗格上的個別索引標籤,分別檢視每個狀態的詳細資訊,包括輸入、輸出和定義。如需您可以在執行詳細資訊頁面上檢視之執行資訊的詳細資訊,請參閱執行詳細資訊概觀

編輯您的工作流程

您可以在 Workflow Studio 設計模式的 中以視覺化方式編輯現有的工作流程。

Step Functions 主控台中,從狀態機器頁面選擇要編輯的工作流程。工作流程會在 Workflow Studio 的設計模式中開啟。

您也可以在 中編輯工作流程定義程式碼模式。選擇程式碼按鈕以檢視或編輯工作流程 Studio 中的工作流程定義。

注意

如果您在工作流程中看到錯誤,則必須在設計模式中修正錯誤。如果您的工作流程中存在任何錯誤,則無法切換到程式碼組態模式。

當您儲存工作流程的變更時,您也可以選擇發佈新版本。使用 版本,您可以選擇執行工作流程的原始版本或替代版本。若要進一步了解如何使用 版本管理工作流程,請參閱 Step Functions 工作流程中的狀態機器版本

匯出您的工作流程

您可以匯出工作流程的 Amazon States Language(ASL) 定義和工作流程圖表:

  1. Step Functions 主控台中選擇您的工作流程。

  2. 狀態機器詳細資訊頁面上,選擇編輯

  3. 選擇動作下拉式選單按鈕,然後執行下列其中一項或兩項操作:

    • 若要將工作流程圖表匯出至 SVG 或 PNG 檔案,請在匯出圖表下選取您想要的格式。

    • 若要將工作流程定義匯出為 JSON 或 YAML 檔案,請在匯出定義下,選取您想要的格式。

使用預留位置建立工作流程原型

您可以在 中使用 Workflow Studio 或 Workflow Studio Infrastructure Composer 來建立新工作流程的原型,其中包含名為 資源且尚不存在的預留位置資源

若要建立工作流程原型:

  1. 登入 Step Functions 主控台

  2. 選擇 Create state machine (建立狀態機器)

  3. 選擇範本對話方塊中,選取空白

  4. 選擇選取以在 中開啟工作流程 Studio設計模式

  5. Workflow Studio 的設計模式隨即開啟。在 Workflow Studio 中設計您的工作流程。若要包含預留位置資源:

    1. 選擇您要包含預留位置資源的狀態,然後在組態中:

      • 針對 Lambda 調用狀態,選擇函數名稱,然後選擇輸入函數名稱。您也可以輸入函數的自訂名稱。

      • 針對 Amazon SQS 傳送訊息狀態,選擇佇列 URL,然後選擇輸入佇列 URL。輸入預留位置佇列 URL。

      • 對於 Amazon SNS 發佈狀態,請從主題中選擇一個主題 ARN。

      • 對於動作下列出的所有其他狀態,您可以使用預設組態。

      注意

      如果您在工作流程中看到錯誤,則必須在設計模式中修正。如果您的工作流程中存在任何錯誤,則無法切換到程式碼組態模式。

    2. (選用) 若要檢視工作流程的自動產生 ASL 定義,請選擇定義

    3. (選用) 若要更新 Workflow Studio 中的工作流程定義,請選擇程式碼按鈕。

      注意

      如果您在工作流程定義中看到錯誤,則必須在程式碼模式中修正錯誤。如果您的工作流程定義中存在任何錯誤,則無法切換到設計組態模式。

  6. (選用) 若要編輯狀態機器名稱,請選擇 MyStateMachine 預設狀態機器名稱旁的編輯圖示,然後在狀態機器名稱方塊中指定名稱。

    您也可以切換到 組態模式來編輯預設狀態機器名稱。

  7. 指定您的工作流程設定,例如狀態機器類型及其執行角色。

  8. 選擇 Create (建立)。

您現在已使用可用於原型的預留位置資源建立新的工作流程。您可以匯出工作流程定義和工作流程圖表。

  • 若要將您的工作流程定義匯出為 JSON 或 YAML 檔案,請在設計程式碼模式中,選擇動作下拉式選單按鈕。然後,在匯出定義下,選取您要匯出的格式。您可以使用此匯出定義做為 本機開發的起點AWS Toolkit for Visual Studio Code

  • 若要將工作流程圖表匯出至 SVG 或 PNG 檔案,請在設計程式碼模式中,選擇動作下拉式清單按鈕。然後,在匯出定義下,選取您想要的格式。