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

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

Step Functions 工作流程中的状态机别名

别名 是指向同一状态机最多两个版本的指针。您可以为状态机创建多个别名。每个别名都有唯一的 Amazon 资源名称 (ARN)。别名 ARN 是状态机的 ARN 和别名名称的组合,用冒号 (:) 分隔。以下示例显示状态机别名 ARN 的格式。

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

您可以使用别名在两个状态机版本之一之间路由流量。您也可以创建指向单个版本的别名。别名只能指向状态机版本。您不能使用别名指向另一个别名。您也可以更新别名以便指向状态机的其他版本。

该图显示别名将 80% 的请求发送到 v1,而将 20% 的请求发送到 v2。

创建状态机别名(控制台)

您可以使用 Step Functions 控制台或调用 CreateStateMachineAlias API 操作为每台状态机创建最多 100 个别名。要请求提高此软限制,请使用 Amazon Web Services Management Console中的支持中心页面。从控制台或通过调用 DeleteStateMachineAlias API 操作来删除未使用的别名。

创建状态机别名的操作步骤
  1. 打开 Step Functions 控制台,然后选择一个现有的状态机。

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

  3. 选择创建新别名

  4. 创建别名页面上,执行以下操作:

    1. 输入别名名称

    2. (可选)输入别名的描述

  5. 要在别名上配置路由,请参阅别名路由配置

  6. 选择创建别名

使用 Step Functions API 操作管理别名

Step Functions 提供了以下 API 操作,您可以使用这些操作来创建和管理状态机别名或获取有关别名的信息:

要使用 Amazon Command Line Interface创建名为 PROD 的别名,指向名为 myStateMachine 的状态机版本 1,请使用 create-state-machine-alias 命令。

aws stepfunctions create-state-machine-alias --name PROD --routing-configuration "[{\"stateMachineVersionArn\":\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",\"weight\":100}]"

别名路由配置

您可以使用别名在状态机的两个版本之间路由执行流量。例如,假设您要启动状态机的一个新版本。通过在别名上配置路由,可以降低部署新版本所涉及的风险。通过配置路由,您可以将大部分流量发送到状态机的早期测试过的版本上。然后,新版本可以接收较小的百分比,直到您可以确认可以安全地推出新版本。

要定义路由配置,请确保已发布别名指向的两个状态机版本。从别名开始执行时,Step Functions 会从路由配置中指定的版本中随机选择要运行的状态机版本。选择的依据是您在别名路由配置中为每个版本分配的流量百分比。

在别名上配置路由配置的操作步骤
  • 创建别名页面的路由配置下,执行以下操作:

    1. 对于版本,选择别名指向的第一个状态机版本。

    2. 选中在两个版本之间拆分流量复选框。

      提示

      要指向单个版本,请取消选中在两个版本之间拆分流量复选框。

    3. 对于版本,选择别名必须指向的第二个版本。

    4. 流量百分比字段中,指定要路由到每个版本的流量百分比。例如,输入6040 表示将 60% 的执行流量路由到第一个版本,40% 的流量路由到第二个版本。

      合并流量百分比必须等于 100%。

使用别名运行状态机(控制台)

您可以通过控制台或使用别名的 ARN 调用 StartExecution API 操作,使用别名启动状态机执行。Step Functions 会运行由别名指定的版本。默认情况下,如果在启动状态机执行时没有指定版本或别名,Step Functions 会使用最新的修订版。

使用别名启动状态机执行的操作步骤
  1. 打开 Step Functions 控制台,然后选择一个已创建别名的现有状态机。有关创建别名的信息,请参阅创建状态机别名(控制台)

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

  3. 别名部分中,执行以下操作:

    1. 选择要启动执行的别名。

    2. 选择启动执行

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

  5. 如果需要,输入执行输入,然后选择启动执行