

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

# 在 Step Functions Workflow Studio 中開發工作流程
<a name="workflow-studio"></a>

在 AWS Step Functions 主控台中編輯工作流程時，您會使用名為 Workflow Studio 的視覺化工具。使用 Workflow Studio，您可以在畫布上drag-and-drop狀態以建置工作流程。您可以新增、編輯和設定狀態、設定輸入和輸出篩選條件、轉換結果，以及設定錯誤處理。

當您修改工作流程中的狀態時，Workflow Studio 會驗證和自動產生狀態機器定義。您可以使用內建程式碼編輯器檢閱產生的程式碼、編輯組態，甚至修改文字定義。完成後，您可以儲存工作流程、執行工作流程，然後檢查結果。

您可以在建立或編輯工作流程時，從 Step Functions 主控台存取 Workflow Studio。

您也可以從視覺化設計工具 **內**使用 Workflow StudioAWS Infrastructure Composer，透過 AWS Serverless Application Model 和 建立基礎設施做為程式碼AWS CloudFormation。若要探索此方法的優點，請參閱 [在 中使用 Workflow Studio Infrastructure Composer](use-wfs-in-app-composer.md)。

Workflow Studio 有三種模式：**設計**、**程式碼**和**組態**。在*設計模式中*，您可以在畫布上drag-and-drop狀態。*程式碼模式*提供內建程式碼編輯器，可在 主控台中編輯工作流程定義。在 *Config 模式中*，您可以管理工作流程組態。

**在 Visual Studio 程式碼中使用 Workflow Studio**  
透過 AWS 工具組，您可以從 VS Code 內使用 Workflow Studio，在狀態機器中視覺化、建置甚至測試個別狀態。您可以提供狀態輸入並設定變數、開始測試，然後即可查看資料的轉換方式。您可以調整工作流程並重新測試。完成後，您可以套用變更來更新狀態機器。如需詳細資訊，請參閱《》中的[使用 Workflow Studio](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/stepfunctions-workflowstudio.html) AWS Toolkit for Visual Studio Code。

## 設計模式
<a name="wfs-interface-design-mode"></a>

設計模式提供圖形界面，可讓您在建置工作流程原型時將工作流程視覺化。下圖顯示 Workflow Studio **設計**模式中的狀態瀏覽器、工作流程畫布、檢測器和內容說明面板。

![\[設計模式的螢幕擷取畫面，顯示狀態瀏覽器、工作流程畫布、檢測器和說明面板。\]](http://docs.aws.amazon.com/zh_tw/step-functions/latest/dg/images/wfs_main_01.png)


1. 模式按鈕會在三種模式之間切換。如果您的 ASL 工作流程定義無效，則無法切換模式。

1. [狀態瀏覽器](#workflow-studio-components-states) 包含下列三個標籤：
   + **動作**索引標籤提供 AWS APIs 的清單，您可以在畫布中拖放到工作流程圖表中。每個動作都代表一個[任務工作流程狀態](state-task.md)狀態。
   + **流程**索引標籤提供流程狀態清單，您可以在畫布中拖放至工作流程圖表。
   + **模式**索引標籤提供數個ready-to-use、可重複使用的建置區塊，可用於各種使用案例。例如，您可以使用這些模式反覆處理 Amazon S3 儲存貯體中的資料。

1. [Canvas 和工作流程圖表](#workflow-studio-components-grapheditor) 可讓您將狀態拖放至工作流程圖表、變更狀態順序，以及選取要設定或檢視的狀態。

1. 您可以在[Inspector 面板](#workflow-studio-components-formdefinition)面板中檢視和編輯您已在畫布上選取之任何狀態的屬性。開啟**定義**切換以檢視工作流程的 Amazon States 語言代碼，並反白顯示目前選取的狀態。

1. 當您需要協助時，**資訊**連結會開啟包含內容資訊的面板。這些面板也包含 Step Functions 文件中相關主題的連結。

1. 設計工具列 – 包含一組按鈕來執行常見動作，例如復原、刪除和放大。

1. 公用程式按鈕 – 用來執行任務的一組按鈕，例如儲存工作流程，或在 JSON 或 YAML 檔案中匯出其 ASL 定義。

### 狀態瀏覽器
<a name="workflow-studio-components-states"></a>

從狀態瀏覽器中，您可以選取要拖放至工作流程畫布的狀態。**動作**索引標籤提供連線至第三方 HTTP 端點和 AWS APIs的任務狀態清單。**流程**索引標籤提供狀態清單，您可以使用這些清單來指示和控制工作流程。流程狀態包括：選擇、平行、映射、通過、等待、成功和失敗。**模式**索引標籤提供ready-to-use、可重複使用的預先定義建置區塊。您可以使用面板頂端的搜尋方塊搜尋所有狀態類型。

![\[顯示動作、流程、模式和搜尋的螢幕擷取畫面說明集合。\]](http://docs.aws.amazon.com/zh_tw/step-functions/latest/dg/images/wfe-states-browser-01.png)


### Canvas 和工作流程圖表
<a name="workflow-studio-components-grapheditor"></a>

選擇要新增至工作流程的狀態之後，您可以將其拖曳至畫布，並將其放入工作流程圖表中。您也可以拖放狀態，在工作流程中移動它們。如果您的工作流程很大，您可以放大或縮小，以在畫布中檢視工作流程圖形的不同部分。

### Inspector 面板
<a name="workflow-studio-components-formdefinition"></a>

您可以從右側的**檢查器**面板設定新增至工作流程的任何狀態。選擇您要設定的狀態，您會在**檢查器**面板中看到其組態選項。若要查看工作流程程式碼的自動產生 [ASL 定義](concepts-amazon-states-language.md)，請開啟**定義**切換。與您所選狀態相關聯的 ASL 定義將反白顯示。

![\[顯示組態面板之 Workflow Studio 檢查程式的說明性螢幕擷取畫面\]](http://docs.aws.amazon.com/zh_tw/step-functions/latest/dg/images/wfe-forms-definitions-01.png)


![\[顯示程式碼定義之 Workflow Studio 檢測器面板的說明性螢幕擷取畫面\]](http://docs.aws.amazon.com/zh_tw/step-functions/latest/dg/images/wfe-forms-definitions-02.png)


## 程式碼模式
<a name="wfs-interface-code-mode"></a>

在 Workflow Studio 的**程式碼**模式中，您可以使用整合式程式碼編輯器，在 Step Functions 主控台中檢視、寫入和編輯工作流程的 [使用 Amazon States Language 定義 Step Functions 工作流程](concepts-amazon-states-language.md)(ASL) 定義。下列螢幕擷取畫面顯示**程式碼**模式中的元件。

![\[在程式碼模式中編輯工作流程定義的說明性螢幕擷取畫面。\]](http://docs.aws.amazon.com/zh_tw/step-functions/latest/dg/images/wfs-code-mode.png)


1. 模式按鈕會在三種模式之間切換。如果您的 ASL 工作流程定義無效，則無法切換模式。

1. [程式碼編輯器](#wfs-interface-code-editor) 您可以在 Workflow Studio 中撰寫和編輯工作流程的 [ASL 定義](concepts-amazon-states-language.md)。程式碼編輯器也提供功能，例如語法反白和自動完成。

1. [圖形視覺化](#wfs-interface-code-graph-viz) – 顯示工作流程的即時圖形視覺化。

1. 公用程式按鈕 – 用來執行任務的一組按鈕，例如儲存工作流程，或在 JSON 或 YAML 檔案中匯出其 ASL 定義。

1. 程式碼工具列 – 包含一組按鈕來執行常見動作，例如復原動作或格式化程式碼。

1. 圖形工具列 – 包含一組按鈕來執行常見動作，例如放大和縮小工作流程圖形。

### 程式碼編輯器
<a name="wfs-interface-code-editor"></a>

程式碼編輯器提供類似 IDE 的體驗，可讓您在 Workflow Studio 中使用 JSON 撰寫和編輯工作流程定義。程式碼編輯器包含數個功能，例如語法反白、自動完成建議、[ASL 定義](concepts-amazon-states-language.md)驗證和內容敏感的說明顯示。當您更新工作流程定義時， 會[圖形視覺化](#wfs-interface-code-graph-viz)轉譯工作流程的即時圖形。您也可以在 中查看更新的工作流程圖表[設計模式](#wfs-interface-design-mode)。

如果您在 [設計模式](#wfs-interface-design-mode)或圖形視覺化窗格中選取狀態，則該狀態的 ASL 定義會顯示在程式碼編輯器中反白顯示。如果您在**設計**模式或圖形視覺化窗格中重新排序、刪除或新增狀態，工作流程的 ASL 定義會自動更新。

程式碼編輯器可以建議自動完成欄位和狀態。
+ 若要查看您可以在特定狀態內包含的欄位清單，請按 **Ctrl\$1Space**。
+ 若要為工作流程中的新狀態產生程式碼片段，請在目前狀態的定義**Ctrl\$1Space**之後按 。
+ 若要顯示所有可用命令和**鍵盤快速鍵**的清單，請按 **F1**。

### 圖形視覺化
<a name="wfs-interface-code-graph-viz"></a>

圖形視覺化面板會以圖形格式顯示您的工作流程。當您在 Workflow Studio [程式碼編輯器](#wfs-interface-code-editor)的 中撰寫工作流程定義時，圖形視覺化窗格會轉譯工作流程的即時圖形。

當您在圖形視覺化窗格中重新排序、刪除或複製狀態時，程式碼編輯器中的工作流程定義會自動更新。同樣地，當您在程式碼編輯器中更新工作流程定義、重新排序、刪除或新增狀態時，視覺化效果會自動更新。

如果工作流程的 ASL 定義中的 JSON 無效，圖形視覺化面板會暫停轉譯，並在窗格底部顯示狀態訊息。

## 組態模式
<a name="wfs-interface-config-mode"></a>

在 Workflow Studio 的 **Config** 模式中，您可以管理狀態機器的一般組態。在此模式中，您可以指定設定，如下所示：
+ **詳細資訊**：設定工作流程**名稱**和**類型**。請注意，在您建立狀態機器之後，兩者**都無法**變更。
+ **許可 **：您可以建立新的角色 （建議）、選擇現有角色，或輸入特定角色的 ARN。如果您選擇建立新角色的選項，Step Functions 會使用最低權限為您的狀態機器建立執行角色。產生的 IAM 角色對您 AWS 區域 建立狀態機器的 有效。在建立之前，您可以檢閱 Step Functions 為狀態機器自動產生的許可。
+ **記錄**：您可以啟用和設定狀態機器的日誌層級。Step Functions 會根據您的選擇記錄執行歷史記錄事件。您可以選擇使用客戶受管金鑰來加密您的日誌。如需日誌層級的詳細資訊，請參閱 [Step Functions 執行事件的日誌層級](cw-logs.md#cloudwatch-log-level)。

**在其他組態**中，您可以設定下列一或多個**選用**組態選項：
+ **啟用 X-Ray 追蹤**：即使上游服務未傳遞追蹤 ID，您也可以將追蹤傳送至 X-Ray 以進行狀態機器執行。如需詳細資訊，請參閱[在 中追蹤 Step Functions 請求資料 AWS X-Ray](concepts-xray-tracing.md)。
+ **建立時發佈版本**：*版本*是您可以執行的狀態機器的編號、不可變快照。選擇此選項可在建立狀態機器時發佈狀態機器的版本。Step Functions 會將第 1 版發佈為狀態機器的第一個修訂版。如需有關版本的詳細資訊，請參閱[Step Functions 工作流程中的狀態機器版本](concepts-state-machine-version.md)。
+ **使用客戶受管金鑰加密 **：您可以直接提供用來加密資料的金鑰。如需相關資訊，請參閱[靜態資料加密](encryption-at-rest.md)。
+ **標籤**：選擇此方塊可新增標籤，協助您追蹤和管理與 資源相關的成本，並在 IAM 政策中提供更好的安全性。如需標籤的詳細資訊，請參閱[在 Step Functions 中標記狀態機器和活動](sfn-best-practices.md#concepts-tagging)。