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

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

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

版本 是状态机的快照,带编号且不可变。您可以从该状态机的最新修订版开始发布版本。每个版本都有一个唯一的 Amazon 资源名称(ARN),这是状态机 ARN 和版本号的组合,用冒号(:)分隔。以下示例显示状态机版本 ARN 的格式。

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

要开始使用状态机版本,必须发布第一个版本。发布版本后,您可使用版本 ARN 调用 StartExecution API 操作。您无法编辑版本,但可以更新状态机并发布新版本。您也可以发布多个状态机版本。

模糊的说明性图表显示了版本如何成为状态机的不可变快照。

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

状态机的所有版本的以下属性都相同:

  • 状态机的所有版本共享相同的类型(标准或快速)

  • 您无法更改不同版本之间状态机的名称或创建日期。

  • 标签全局适用于状态机。您可以使用 TagResourceUntagResource API 操作来管理状态机的标签。

状态机还包含作为每个版本和revision一部分的属性,但这些属性在两个给定版本或修订版之间可能不同。这些属性包括状态机定义IAM 角色跟踪配置日志配置

发布状态机版本(控制台)

您最多可以发布 1000 个版本的状态机。要请求提高此软限制,请使用 AWS Management Console中的支持中心页面。您可以从控制台手动删除未使用的版本,也可以通过调用 DeleteStateMachineVersion API 操作来删除未使用的版本。

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

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

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

  4. 选择发布版本

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

  6. 选择发布

注意

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

使用 Step Functions API 操作管理版本

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

要使用 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 操作。您还可以调用带有名为 publish 的可选参数的 UpdateStateMachineAlias API 操作来更新状态机并发布其版本。

您可以使用控制台或调用 StartExecution API 操作并提供版本 ARN 来开始执行某个版本。您也可以使用别名开始执行某个版本。别名会根据其路由配置,会将流量路由到特定版本。

如果不使用版本就启动状态机执行,Step Functions 将使用状态机的最新版本进行执行。有关 Step Functions 如何将执行与版本关联的信息,请参阅将执行与版本或别名关联

使用一个状态机版本启动执行
  1. 打开 Step Functions 控制台,然后选择已为其发布一个或多个版本的现有状态机。要了解如何发布版本,请参阅发布状态机版本(控制台)

  2. 状态机详细信息页面上,选择版本选项卡。

  3. 设置部分,执行以下操作:

    1. 选择要启动执行的版本。

    2. 选择启动执行

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

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