Step Functions 工作流程中的状态机版本 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Step Functions 工作流程中的状态机版本

版本是状态机的带编号的、不可变的快照。您可以从该状态机的最新修订版开始发布版本。每个版本都有一个唯一的 Amazon 资源名称 (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 个版本的状态机。要请求提高此软限制,请使用 Amazon Web Services Management Console中的支持中心页面。您可以从控制台手动删除未使用的版本,也可以通过调用DeleteStateMachineVersionAPI操作来删除未使用的版本。

发布状态机版本的操作步骤
  1. 打开 Step Functions 控制台,然后选择一个现有的状态机。

  2. 状态机详细信息页面上,选择编辑

  3. 根据需要编辑状态机定义,然后选择保存

  4. 选择发布版本

  5. (可选)在出现的对话框的描述字段中,输入有关状态机版本的简短描述。

  6. 选择发布

注意

发布状态机的新版本时,Step Functions 会为其分配一个版本号。版本号从 1 开始,每个新版本都会单调递增。对于给定的状态机,版本号不会重复使用。如果您删除了状态机的版本 10,然后发布了新版本,Step Functions 会将其发布为版本 11。

使用 Step Functions API 操作管理版本

Step Functions 提供了以下API操作来发布和管理状态机版本:

myStateMachine使用发布名为的状态机的当前版本中的新版本 Amazon 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. 选择启动执行

  4. (可选)在启动执行对话框中,输入执行名称。

  5. (可选),输入执行输入,然后选择启动执行