本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
版本是狀態機器的編號、不可變快照。您會將最近修訂的版本發佈至該狀態機器。每個版本都有唯一的 Amazon Resource Name (ARN),它是狀態機器 ARN 和以冒號 (:) 分隔的版本編號的組合。下列範例顯示狀態機器版本 ARN 的格式。
arn:partition
:states:region
:account-id
:stateMachine:myStateMachine
:1
若要開始使用狀態機器版本,您必須發佈第一個版本。發佈版本後,您可以使用版本 ARN 叫用 StartExecution API 動作。您無法編輯版本,但可以更新狀態機器並發佈新版本。您也可以發佈狀態機器的多個版本。

當您發佈新版本的狀態機器時,Step Functions 會為其指派版本編號。版本編號從 1 開始,並針對每個新版本單調增加。特定狀態機器不會重複使用版本編號。如果您刪除 狀態機器的第 10 版,然後發佈新版本,Step Functions 會將它發佈為第 11 版。
下列屬性對於狀態機器的所有版本都是相同的:
-
狀態機器的所有版本共用相同類型 (標準或快速)。
-
您無法在版本之間變更狀態機器的名稱或建立日期。
-
標籤全域套用至狀態機器。您可以使用 TagResource 和 UntagResource API 動作來管理狀態機器的標籤。
狀態機器也包含屬於每個版本 和 一部分的屬性revision,但這些屬性可能會在兩個指定版本或修訂之間有所不同。這些屬性包括狀態機器定義、IAM 角色、追蹤組態和記錄組態。
發佈狀態機器版本 (主控台)
您最多可以發佈 1000 個版本的 狀態機器。若要請求提高此軟性限制,請使用 中的支援中心頁面AWS Management Console。您可以從主控台手動刪除未使用的版本,或叫用 DeleteStateMachineVersion API 動作。
發佈狀態機器版本
-
開啟 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 主控台或叫用 PublishStateMachineVersion API 動作。您也可以使用名為 的選用參數叫用 UpdateStateMachineAlias API 動作,publish
以更新狀態機器並發佈其版本。
您可以使用 主控台或叫用 StartExecution API 動作並提供版本 ARN 來開始執行版本。您也可以使用別名來啟動版本的執行。根據其路由組態,別名會將流量路由到特定版本。
如果您在不使用版本的情況下啟動狀態機器執行,Step Functions 會使用狀態機器的最新修訂版來執行。如需 Step Functions 如何將執行與版本建立關聯的詳細資訊,請參閱 將執行與版本或別名建立關聯。
使用狀態機器版本啟動執行
-
開啟 Step Functions 主控台
,然後選擇您已發佈一或多個版本的現有狀態機器。若要了解如何發佈版本,請參閱 發佈狀態機器版本 (主控台)。 -
在狀態機器詳細資訊頁面上,選擇版本索引標籤。
-
在版本區段中,執行下列動作:
-
選取您要啟動執行的版本。
-
選擇 Start execution (開始執行)。
-
-
(選用) 在開始執行對話方塊中,輸入執行的名稱。
-
(選用) ,輸入執行輸入,然後選擇開始執行。