Step Functions 工作流程中的狀態機器版本 - AWS Step Functions

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

Step Functions 工作流程中的狀態機器版本

版本是狀態機器的編號、不可變快照。您可以將最新版本的版本發佈到該狀態機器。每個版本都有唯一的 Amazon Resource Name (ARN),它是狀態機器ARN和以冒號 (:) 分隔的版本編號的組合。下列範例顯示 狀態機器版本 的格式ARN。

arn:partition:states:region:account-id:stateMachine:myStateMachine:1

若要開始使用狀態機器版本,您必須發佈第一個版本。發佈版本後,您可以使用版本 叫用 StartExecutionAPI動作ARN。您無法編輯版本,但可以更新狀態機器並發佈新版本。您也可以發佈狀態機器的多個版本。

模糊說明圖顯示版本如何成為狀態機器的不可變快照。

當您發佈新版本的 狀態機器時,Step Functions 會為其指派版本編號。版本編號從 1 開始,並在每個新版本單調增加。版本編號不會重複使用於指定的狀態機器。如果您刪除 狀態機器的第 10 版,然後發佈新版本,Step Functions 會將它發佈為第 11 版。

狀態機器的所有版本都使用相同的屬性:

  • 狀態機器的所有版本共用相同類型 (標準或快速)

  • 您無法在版本之間變更狀態機器的名稱或建立日期。

  • 標籤全域套用至 狀態機器。您可以使用 TagResourceUntagResourceAPI動作來管理狀態機器的標籤。

狀態機器也包含屬於每個版本 和 一部分的屬性revision,但這些屬性可能會在兩個指定版本或修訂版本之間有所不同。這些屬性包括狀態機器定義 IAM角色 追蹤組態 記錄組態

發佈狀態機器版本 (主控台)

您最多可以發佈 1000 個版本的 狀態機器。若要請求提高此軟限制,請使用 中的支援中心頁面AWS Management Console。您可以從主控台手動刪除未使用的版本,也可以叫用 DeleteStateMachineVersionAPI動作。

發佈狀態機器版本
  1. 開啟 Step Functions 主控台 ,然後選擇現有的狀態機器。

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

  3. 視需要編輯狀態機器定義,然後選擇儲存

  4. 選擇 Publish version (發佈版本)

  5. (選用) 在出現的對話方塊的描述欄位中,輸入狀態機器版本的簡短描述。

  6. 選擇 Publish (發佈)。

注意

當您發佈新版本的 狀態機器時,Step Functions 會為其指派版本編號。版本編號從 1 開始,並在每個新版本單調增加。版本編號不會重複使用於指定的狀態機器。如果您刪除 狀態機器的第 10 版,然後發佈新版本,Step Functions 會將它發佈為第 11 版。

使用 Step Functions API操作管理版本

Step Functions 提供下列API操作來發佈和管理狀態機器版本:

若要從myStateMachine使用 呼叫的狀態機器的目前修訂版發佈新版本 AWS Command Line Interface,請使用 publish-state-machine-version命令:

aws stepfunctions publish-state-machine-version --state-machine-arn arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine

回應會傳回 stateMachineVersionArn。例如,上一個命令會傳回 的回應arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1

注意

當您發佈新版本的 狀態機器時,Step Functions 會為其指派版本編號。版本編號從 1 開始,並在每個新版本單調增加。版本編號不會重複使用於指定的狀態機器。如果您刪除 狀態機器的第 10 版,然後發佈新版本,Step Functions 會將它發佈為第 11 版。

從主控台執行狀態機器版本

若要開始使用狀態機器版本,您必須先從目前的狀態機器發佈版本revision。若要發佈版本,請使用 Step Functions 主控台或叫用 PublishStateMachineVersionAPI動作。您也可以使用名為 的選用參數叫用UpdateStateMachineAliasAPI動作,publish以更新狀態機器並發佈其版本。

您可以使用主控台或叫用 StartExecutionAPI動作並提供版本 來開始執行版本ARN。您也可以使用別名來啟動 版本的執行。根據其路由組態 ,別名會將流量路由至特定版本。

如果您在不使用版本的情況下啟動狀態機器執行,Step Functions 會使用狀態機器的最新版本來執行。如需 Step Functions 如何將執行與版本建立關聯的詳細資訊,請參閱 將執行與版本或別名建立關聯

使用狀態機器版本啟動執行
  1. 開啟 Step Functions 主控台 ,然後選擇您已發佈一或多個版本的現有狀態機器。若要了解如何發佈版本,請參閱 發佈狀態機器版本 (主控台)

  2. 狀態機器詳細資訊頁面上,選擇版本索引標籤。

  3. 版本區段中,執行下列動作:

    1. 選取您要啟動執行的版本。

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

  4. (選用) 在開始執行對話方塊中,輸入執行的名稱。

  5. (選用) ,輸入執行輸入,然後選擇開始執行