本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 版。
狀態機器的所有版本都使用相同的屬性:
-
狀態機器的所有版本共用相同類型 (標準或快速)。
-
您無法在版本之間變更狀態機器的名稱或建立日期。
-
標籤全域套用至 狀態機器。您可以使用 TagResource和 UntagResourceAPI動作來管理狀態機器的標籤。
狀態機器也包含屬於每個版本 和 一部分的屬性revision,但這些屬性可能會在兩個指定版本或修訂版本之間有所不同。這些屬性包括狀態機器定義 、IAM角色 、追蹤組態 和記錄組態 。
發佈狀態機器版本 (主控台)
您最多可以發佈 1000 個版本的 狀態機器。若要請求提高此軟限制,請使用 中的支援中心頁面AWS Management Console。您可以從主控台手動刪除未使用的版本,也可以叫用 DeleteStateMachineVersionAPI動作。
發佈狀態機器版本
-
開啟 Step Functions 主控台
,然後選擇現有的狀態機器。 -
在狀態機器詳細資訊頁面上,選擇編輯 。
-
視需要編輯狀態機器定義,然後選擇儲存 。
-
選擇 Publish version (發佈版本)。
-
(選用) 在出現的對話方塊的描述欄位中,輸入狀態機器版本的簡短描述。
-
選擇 Publish (發佈)。
注意
當您發佈新版本的 狀態機器時,Step Functions 會為其指派版本編號。版本編號從 1 開始,並在每個新版本單調增加。版本編號不會重複使用於指定的狀態機器。如果您刪除 狀態機器的第 10 版,然後發佈新版本,Step Functions 會將它發佈為第 11 版。
使用 Step Functions API操作管理版本
Step Functions 提供下列API操作來發佈和管理狀態機器版本:
-
PublishStateMachineVersion – 從狀態機器revision的目前 發佈版本。
-
UpdateStateMachine – 如果您更新狀態機器並在相同的請求
true
中將publish
參數設定為 ,則會發佈新的狀態機器版本。 -
CreateStateMachine – 如果您將
publish
參數設定為 , 會發佈狀態機器的第一個修訂版true
。 -
ListStateMachineVersions – 列出指定狀態機器 的版本ARN。
-
DescribeStateMachine – 傳回 中ARN指定版本的狀態機器版本詳細資訊
stateMachineArn
。 -
DeleteStateMachineVersion – 刪除狀態機器版本。
若要從
使用 呼叫的狀態機器的目前修訂版發佈新版本 AWS Command Line Interface,請使用 myStateMachine
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 如何將執行與版本建立關聯的詳細資訊,請參閱 將執行與版本或別名建立關聯。
使用狀態機器版本啟動執行
-
開啟 Step Functions 主控台
,然後選擇您已發佈一或多個版本的現有狀態機器。若要了解如何發佈版本,請參閱 發佈狀態機器版本 (主控台)。 -
在狀態機器詳細資訊頁面上,選擇版本索引標籤。
-
在版本區段中,執行下列動作:
-
選取您要啟動執行的版本。
-
選擇 Start execution (開始執行)。
-
-
(選用) 在開始執行對話方塊中,輸入執行的名稱。
-
(選用) ,輸入執行輸入,然後選擇開始執行 。