使用 AWS Step Functions - AWS VS 程式碼的工具組

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

使用 AWS Step Functions

您可以使用 AWS Toolkit for Visual Studio Code (VS 程式碼) 對狀態機器執行各種操作。

必要條件

  • 請確定您的系統符合安裝 Toolkit for VS Code 中指定的先決條件,然後安裝工具組。

  • 在開啟 AWS Explorer 之前,請確定您已設定憑證。

在 VS 程式碼中使用狀態機器

您可以使用 VS 程式碼與遠端狀態機器互動,並以 JSON 或 YAML 格式在本機開發狀態機器。您可以建立或更新狀態機器、列出現有狀態機器、執行它們並下載它們。VS Code 還可讓您從範本建立新狀態機器、檢視狀態機器的視覺效果,並提供程式碼片段、程式碼完成和程式碼驗證。

列出現有狀態機器

如果您已建立狀態機器,則可以檢視狀態機器列表:

  1. 開啟 AWS Explorer

  2. 選取步驟函數

  3. 驗證列在您帳戶中的所有狀態機器。

    AWS Explorer menu showing regions and services, with LambdaStateMachine highlighted under Step Functions.

下載狀態機器

如何下載狀態機器:

  1. AWS Explorer 中,用滑鼠右鍵按一下您要下載的狀態機器。

  2. 選取 Download (下載),然後選取您要下載狀態機器的位置。

  3. 請確認狀態機器已正確下載。

    AWS Explorer menu showing LambdaStateMachine with Download Definition option highlighted.

建立狀態機器

您可以自行建立新的狀態機器,也可以使用範本。如需從範本建立狀態機器的詳細資訊,請參閱狀態機器範本一節。如何建立新的狀態機器:

  1. 使用狀態機器定義建立新的 Amazon States 語言 (ASL) 檔案。使用右下角的功能表,將其設置為 Amazon 狀態語言。

  2. 選取發佈至 Step Functions

    JSON code snippet showing state machine configuration with FirstState and ChoiceState.
  3. 選取快速建立、選擇角色,然後命名您的狀態機器。

    Quick Create option highlighted for creating a state machine with default settings.
    Dropdown menu showing execution role options, with ECSRole highlighted for selection.
    Dialog box prompting user to name their state machine, with input field and instructions.

更新狀態機器

如何更新狀態機器:

  1. 使用狀態機器定義編輯 ASL 檔案。

  2. 選取發佈至 Step Functions

    JSON code snippet showing state machine configuration with FirstState and ChoiceState.
  3. 選取快速更新,然後選取您要更新的狀態機器。

    Quick Update option highlighted in the Publish to AWS Step Functions menu.
    Dropdown menu showing state machine options for updating in us-east-1 region.

執行狀態機器

若要執行狀態機器:

  1. AWS Explorer 中,用滑鼠右鍵按一下您要執行的狀態機器。

  2. 提供狀態機器的輸入。您可以嘗試從文件輸入,以及在文字方塊中輸入。

  3. 啟動狀態機器並確認其是否已成功執行。

    AWS Explorer menu showing LambdaStateMachine with Start Execution option highlighted.
    Start Execution interface for LambdaStateMachine with JSON input option and example.

狀態機器範本

建立狀態機器時,可以從範本選擇建立狀態機器。範本包含具有數種常用狀態的範例狀態機器定義,並提供您一個起點。如何使用狀態機器範本:

  1. 在 VS 程式碼中開啟命令調色盤

  2. 選取 AWS Toolkit Create a new Step Functions 狀態機器

  3. 選擇您要使用的範本。

    List of starter templates including Hello world, Retry failure, Wait state, and others.
  4. 選擇您要使用 JSON 還是 YAML 範本格式。

    Dropdown menu showing JSON and YAML options for selecting a template format.

狀態機器圖形視覺化

圖形視覺化可讓您以圖形格式檢視狀態機器的外觀。當您建立圖形視覺化時,另一個索引標籤會開啟並顯示狀態機器 JSON 或 YAML 的視覺化。然後,您可以將您同時正在寫入的狀態機器定義及其視覺效果進行比較。變更狀態機器定義時,將更新視覺化。

注意

若要建立狀態機器定義的視覺化,必須在作用中的編輯器中開啟定義。若您關閉或重新命名定義檔,則將關閉視覺化。

如何建立狀態機器圖形視覺化:

  1. 定義您的狀態機器。

  2. 在 VS 程式碼中開啟命令調色盤

  3. 若要建立視覺化,請使用右上角的視覺化按鈕,或選擇AWS 轉譯圖表

    JSON code and graph visualization of Amazon 狀態語言 with choice state example.

程式碼片段

程式碼片段可讓您插入程式碼的一小段。如何使用程式碼片段:

  1. 開啟檔案,並使用 JSON 格式.asl.json的副檔名或 YAML 格式.asl.yaml儲存檔案。

  2. 使用狀態屬性,建立新的狀態機器。

  3. 將游標放置在狀態內。

  4. 使用按鍵組合 Control + Space,然後選取您偏好的程式碼片段。

  5. Tab 於遍歷程式碼片段中的變數和參數。

  6. 將游標放置在相關狀態內,以測試 RetryCatch 片段。

    Code snippet for Lambda Task State with dropdown menu showing various state types.

程式碼完成和驗證

如何檢視程式碼完成的運作方式:

  1. 建立數個狀態。

  2. 將游標放在下一步StartAt預設屬性後面。

  3. 使用按鍵組合 Control + Space,列出可用的完成項目。額外屬性均可以用 Control + Space 再次存取,並將以 StateType 為基礎。

  4. 工作時,程式碼驗證將檢視:

    • 缺少屬性

    • 不正確的值

    • 無終端狀態

    • 指向不存在的狀態

    JSON code snippet showing state machine structure with task, choice, and default states.
    Code snippet showing AWS Lambda function properties with a tooltip describing the Catch property.