使用 Step Functions 數中的工作流程 Studio 建立工作流程 - AWS Step Functions

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

使用 Step Functions 數中的工作流程 Studio 建立工作流程

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

建立狀態機器

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

入門範本是一個 ready-to-run 範例專案,可自動建立工作流程原型和定義,並將專案所需的所有相關 AWS 資源部署到您 AWS 帳戶的. 您可以使用這些初學者範本依原樣部署和執行它們,或使用工作流程原型來建置它們。如需有關初學者範本的更多資訊,請參閱使用 Step Functions 的入門範本部署狀態機

如果使用空白範本,您可以使用「設計」或「程式」模式建立自訂工作流程。

使用起始範本建立狀態機

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

  2. 在「選擇樣板」對話方塊中,執行下列任一項作業以選擇範例專案:

    • Task Timer在 [依關鍵字搜尋] 方塊中輸入,然後從搜尋結果中選擇 [工作計時器]。

    • 瀏覽右窗格中「全部」下列出的範例專案,然後選擇「工作計時器」。

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

  4. Step Functions 會列出您選取的範例專案中 AWS 服務 使用的項目。它也會顯示範例專案的工作流程圖表。將此項目部署到您的項目中, AWS 帳戶 或將其用作構建自己的項目的起點。根據您想要的進行方式,選擇 [執行示範] 或 [在其上建置]。

  5. 選擇「使用範本」繼續進行選取。

  6. 執行以下任意一項:

    • 如果您選取「在其上建立」,Step Functions 會建立工作流程原型,但會在工作流程定義中部署資源,因此您可以繼續建置工作流程原型。

      在工作流 Studio 中設計模式,您可以將其他狀態納入您的工作流程原型。或者,您可以切換程式碼模式至使用整合的程式碼編輯器,從 Step Functions 主控台編輯狀態機器的 Amazon States Language (ASL) 定義。

      重要

      您可能需要更新範例專案中使用之資源的預留位置 Amazon 資源名稱 (ARN),才能執行工作流程

    • 如果您選取 [執行示範],Step Functions 會建立唯讀專案,該專案會使用 AWS CloudFormation 範本將該範本中的 AWS 資源部署到您的 AWS 帳戶. 您可以選擇「程式碼」模式來檢視狀態機定義。

      選擇部署並執行以部署專案並建立資源。

      請注意,建立資源和IAM權限最多可能需要 10 分鐘的時間。部署資源時,您可以開啟 AWS CloudFormation Stack ID 連結以查看正在佈建的資源。

      建立完所有資源之後,您應該會在主控台的 [狀態機器] 頁面上看到專案。

      重要

      CloudFormation 範本中使用的每項服務可能會收取標準費用。

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

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

  1. 開啟 Step Functions 主控台

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

  3. 在「選擇範本」對話方塊中,選取「空白」。

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

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

  5. 選擇「Config 定」以管理中工作流程的組態Config 模式。例如,提供工作流程的名稱並選擇其類型。

設計工作流程

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

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

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

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

將狀態拖放到畫布上後,您可以在右側的Inspector 面板面板中對其進行配置。此面板包含您放在畫布上的每個狀態或API動作的「組態」、「輸入」、「輸」和「錯誤處理」索引標籤。您可以在「組態」索引標籤中配置包含在工作流程中的狀態

例如,Lambda 叫用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 帳戶 您進行跨帳戶呼叫的帳戶。

    • ARN在執行階段從狀態輸入取得IAM角色:在包含IAM角色的狀態JSON輸入中指定現有索引鍵值組的參考路徑。

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

  • (可選)「釋」字段不會影響工作流程,但您可以使用它來註釋您的工作流程。

某些狀態會有額外的一般組態選項。例如,Amazon 狀ECSRunTask態組態包含填入預留位置值的API Parameters欄位。對於這些狀態,您可以使用適合您需求的組態來取代預留位置值。

若要刪除狀態

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

執行工作流程

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

若要在工作流程 Studio 中執行工作流程
  1. 在「設計」、「程式」或「Config」模式中,選擇「執行」。

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

  2. 在 [開始執行] 對話方塊中,執行下列動作:

    1. (選擇性) 若要識別您的執行項目,您可以指定名稱,或使用預設產生的執行名稱。

      注意

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

    2. (選擇性) 在「入」方塊中,以JSON格式輸入輸入值以執行工作流程。

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

    4. Step Functions 主控台會將您導向至標題為執行 ID 的頁面。此頁面稱為「執行詳細資訊」頁面。在此頁面上,您可以在執行進行時或完成之後複查執行結果。

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

編輯工作流程

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

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

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

注意

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

匯出工作流程

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

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

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

  3. 選擇「作業」 下拉式按鈕,然後執行下列其中一項或兩項作業:

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

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

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

您可以使用中的工作流程 Studio 或工作流程 Studio Application Composer 來建立新工作流程的原型,這些預留位置資源為尚未存在的已命名資源的預留位置資源。

若要建立工作流程原型:

  1. 登入 Step Functions 主控台

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

  3. 在「選擇範本」對話方塊中,選取「空白」。

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

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

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

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

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

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

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

      注意

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

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

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

      注意

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

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

    您也可以切換Config 模式至以編輯預設狀態機器名稱。

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

  8. 選擇 Create (建立)。

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

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

  • 若要將工作流程圖形匯出至SVG或PNG檔案,請在「設計」或「程式」模式下,選擇「動作」 下拉式按鈕。然後,在「匯出定義」下,選取所需的格式。