

 AWS Cloud9 不再提供給新客戶。 AWS Cloud9 的現有客戶可以繼續正常使用該服務。[進一步了解](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# AWS Step Functions 使用 AWS Toolkit 使用
<a name="bulding-stepfunctions"></a>

 AWS 工具組支援 [AWS Step Functions](https://aws.amazon.com/step-functions/)。Step Functions 可讓您建立狀態機器，為支援業務關鍵應用程式的 AWS Lambda 函數和其他 AWS 服務定義工作流程。

您可以使用 AWS Toolkit 搭配 Step Functions 執行下列動作：
+ 建立和發佈狀態機器，該狀態機器是由單個步驟組成的工作流程。
+ 下載定義狀態機器工作流程的檔案。
+ 使用已輸入或選擇的輸入運行狀態機器工作流程。

**Topics**
+ [先決條件](#bulding-stepfunctions-pre)
+ [建立和發佈狀態機器](#state-machine-create)
+ [在 AWS Toolkit 中執行狀態機器](#starting-stepfunctions)
+ [下載狀態機器定義檔案並視覺化其工作流程](#sfn-download)

## 先決條件
<a name="bulding-stepfunctions-pre"></a>

Step Functions 可以執行程式碼和存取 AWS 資源 （例如叫用 Lambda 函數）。為了維護安全性，您必須使用 IAM 角色將這些資源的存取授予 Step Functions。

透過 AWS Toolkit，您可以利用自動產生的 IAM 角色，這些角色適用於您建立狀態機器 AWS 的區域。若要為狀態機器建立自己的 IAM 角色，請參閱《 *AWS Step Functions 開發人員指南*》中的[如何使用 AWS Step Functions IAM](https://docs.aws.amazon.com/step-functions/latest/dg/procedure-create-iam-role.html)。

## 建立和發佈狀態機器
<a name="state-machine-create"></a>

當您使用 AWS Toolkit 建立狀態機器時，您可以選擇入門範本來定義商業案例的工作流程。接著，您可以編輯或取代該範本以滿足特定需求。有關在表示其結構的檔案中定義狀態機器的詳細資訊，請參閱 *AWS Step Functions 開發人員指南*中的 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)。

1. 在 **AWS Explorer** 窗格中，開啟 **Step Functions** 的內容 (按一下滑鼠右鍵) 選單，然後選擇 **Create a new Step Function state machine** (建立新的 Step Functions 狀態機器)。

1. 在命令面板中，為狀態機器的工作流程選擇入門範本。

1. 接著，選擇用於定義狀態機器的 Amazon States Language (ASL) 檔案的格式。

   此時將打開一個編輯器，其中顯示定義狀態機器工作流程的 ASL 檔案。
**注意**  
有關編輯 ASL 檔案以自訂工作流程的資訊，請參閱[狀態機器結構](https://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-state-machine-structure.html)。

1. 在 ASL 檔案中，選擇**發佈至 Step Functions**，將您的狀態機器新增至 AWS 雲端。
**注意**  
您也可以在 ASL 檔案中選擇 **Render graph** (轉譯圖形)，以顯示狀態機器工作流程的視覺化呈現。  
![顯示如何選擇發佈至 Step Functions 的圖表](http://docs.aws.amazon.com/zh_tw/cloud9/latest/user-guide/images/publish-stepfunction.png)

1. 在命令面板中，選擇要託管步驟函數 AWS 的區域。

1. 接著，您可以選擇建立新的 Step Functions 或更新現有的 Step Functions。

------
#### [ Quick Create  ]

   此選項可讓您使用 [step-functions/latest/dg/concepts-standard-vs-express.html](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html)，從 ASL 檔案建立新的 Step Functions。系統會要求您指定以下內容：
   + IAM 角色，可讓您的步驟函數執行程式碼和存取 AWS 資源。（您可以選擇自動產生的 IAM 角色，該角色適用於您建立狀態機器 AWS 的區域。)
   + 為新的函式輸入一個名稱。

   您可以在 AWS Toolkit 輸出索引標籤中檢查您的狀態機器是否已成功建立並取得其 ARN。

------
#### [ Quick Update ]

   如果 AWS 區域中已存在狀態機器，您可以選擇要更新為目前 ASL 檔案的機器。

   您可以檢查狀態機器是否已成功更新，並在 AWS Toolkit 輸出索引標籤中取得其 ARN。

------

   建立狀態機器後，它會顯示在 **AWS Explorer** 窗格的 **Step Functions** 之下。如果此狀態機器沒有立即出現，請選擇 **Toolkit** (工具組) 選單中的 **Refresh Explorer** (重新整理 Explorer)。

## 在 AWS Toolkit 中執行狀態機器
<a name="starting-stepfunctions"></a>

您可以使用 AWS Toolkit 來執行遠端狀態機器。運行中的狀態機器會收到 JSON 文字做為輸入，並將該輸入傳遞給工作流程中的第一個狀態。個別狀態會收到 JSON 做為輸入，而且通常會將 JSON 當作輸出傳遞至下一個狀態。如需詳細資訊，請參閱 [Step Functions 中的輸入和輸出處理](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-input-output-filtering.html)。

1. 在 **AWS Explorer** 窗格中，選擇 **Step Functions**。接著開啟特定狀態機器的內容 (按一下滑鼠右鍵) 選單，然後選擇 **Start Execution** (開始執行)。

1. 在 **Start Execution** (開始執行) 窗格中，透過直接在下面的欄位中輸入文字或從本機裝置上傳檔案來新增狀態機器工作流程的 JSON 格式輸入。

1. 選擇 **Execute** (執行)。

   Toolkit AWS 輸出索引標籤會顯示工作流程已啟動的確認，以及程序 ID 的 ARN。您可以使用該程序 ID 在 AWS Step Functions 主控台中檢查工作流程是否成功執行。您還可以檢視工作流程啟動和結束時間的時間戳記。

## 下載狀態機器定義檔案並視覺化其工作流程
<a name="sfn-download"></a>

下載狀態機器意即下載一個包含表示該狀態機器結構的 JSON 文字的檔案。接著，您可以編輯此檔案以建立新的狀態機器或更新現有的狀態機器。如需詳細資訊，請參閱 *AWS Step Functions 開發人員指南*中的 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)。

1. 在 **AWS Explorer** 窗格中，選擇 **Step Functions**。接著開啟特定狀態機器的內容 (按一下滑鼠右鍵) 選單，然後選擇 **Download Definition** (下載定義)。
**注意**  
該內容選單還提供了 **Copy Name** (複製名稱) 和 **Copy ARN** (複製 ARN) 的選項。

1. 在 **Save** (儲存) 對話方塊中，在您的環境中選擇存放狀態機器下載檔案的資料夾，然後選擇 **Save** (儲存)。

   定義狀態機器工作流程的 JSON 格式檔案顯示在編輯器中。

1. 若要顯示工作流程的視覺化呈現，請選擇 **Render graph** (轉譯圖形)。

   視窗將顯示一個流程圖，其中顯示狀態機器工作流程中的狀態順序。  
![狀態機器工作流程的視覺化呈現](http://docs.aws.amazon.com/zh_tw/cloud9/latest/user-guide/images/render-graph.png)