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

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

状态机版本

一个版本是状态机的带编号的、不可变的快照。您可以发布该状态机的最新修订版本中的版本。每个版本都有一个唯一的亚马逊资源名称 (ARN)。此 ARN 是状态机 ARN 和用冒号 (:) 分隔的版本号的组合。以下示例显示了状态机版本 ARN 的格式。

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

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


            状态机定义的版本。更新状态机时,它会创建新的状态机修订版。您可以从修订版发布状态机版本。

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

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

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

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

  • 标签在全球范围内适用于状态机。您可以使用来管理状态机的标签TagResourceUntagResourceAPI 操作。

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

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

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

发布状态机版本
  1. 打开步骤函数控制台,然后选择现有的状态机。

  2. 状态机细节页面,选择编辑

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

  4. 选择 Publish version (发布版本)

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

  6. 选择 Publish

注意

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

您可以使用控制台或调用StartExecutionAPI 操作并提供版本 ARN。你也可以使用化名开始执行某个版本。基于它的路由配置,别名将流量路由到特定版本。

如果您在不使用版本的情况下开始执行状态机,则 Step Functions 将使用状态机的最新版本进行执行。有关 Step Functions 如何将执行与版本关联的信息,请参见将执行与版本或别名相关联

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

  2. 状态机细节页面,选择版本选项卡。

  3. 在里面版本部分,执行以下操作:

    1. 选择要开始执行的版本。

    2. 选择 Start execution (开始执行)

  4. (可选)在开始执行对话框中,输入执行的名称。

  5. (可选),输入执行输入,然后选择开始执行