本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Step Functions 工作流程中的状态机版本
版本是状态机的带编号的、不可变的快照。您可以从该状态机的最新修订版开始发布版本。每个版本都有一个唯一的 Amazon 资源名称 (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 个版本的状态机。要请求提高此软限制,请使用 Amazon Web Services Management Console中的支持中心页面。您可以从控制台手动删除未使用的版本,也可以通过调用DeleteStateMachineVersionAPI操作来删除未使用的版本。
发布状态机版本的操作步骤
-
打开 Step Functions 控制台
,然后选择一个现有的状态机。 -
在状态机详细信息页面上,选择编辑。
-
根据需要编辑状态机定义,然后选择保存。
-
选择发布版本。
-
(可选)在出现的对话框的描述字段中,输入有关状态机版本的简短描述。
-
选择发布。
注意
发布状态机的新版本时,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— 删除状态机版本。
要
使用发布名为的状态机的当前版本中的新版本 Amazon 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 控制台
,然后选择已为其发布一个或多个版本的现有状态机。要了解如何发布版本,请参阅发布状态机版本(控制台)。 -
在状态机详细信息页面上,选择版本选项卡。
-
在设置部分,执行以下操作:
-
选择要启动执行的版本。
-
选择启动执行。
-
-
(可选)在启动执行对话框中,输入执行名称。
-
(可选),输入执行输入,然后选择启动执行。