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

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

将状态机执行与版本或别名关联

Step Functions 根据您用来调用 StartExecutionAPI 操作的亚马逊资源名称 (ARN) 将执行与版本或别名关联起来。Step Functions 在执行开始时进行此操作。

您可以使用限定或非限定的 ARN 来启动状态机。

  • 限定 ARN – 指状态机 ARN,后缀为版本号或别名。

    以下限定的 ARN 示例指的是名为 myStateMachine 的状态机的版本 3

    arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:3

    以下限定的 ARN 示例指的是名为 myStateMachine 的状态机的 PROD 别名。

    arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:PROD
  • 非限定 ARN – 指没有版本号或别名后缀的状态机 ARN。

    arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine

例如,如果您的限定 ARN 指的是版本 3,则 Step Functions 会将执行与该版本相关联。它不会将执行与任何指向版本 3 的别名相关联。

如果您的限定 ARN 指的是别名,则 Step Functions 会将执行与该别名以及该别名指向的版本相关联。一次执行只能与一个别名关联。

注意

如果您使用非限定的 ARN 启动执行,即使版本使用相同的状态机revision,Step Functions 也不会将该执行与版本相关联。例如,如果版本 3 使用最新的修订版,但您使用非限定的 ARN 启动执行,则 Step Functions 不会将该执行与版本 3 相关联。

查看使用版本或别名启动的执行

Step Functions 提供了以下方式,您可以通过这些方式查看使用版本或别名启动的执行:

您可以通过调用DescribeExecutionListExecutionsAPI 操作来查看与版本或别名关联的所有执行。这些 API 操作会返回用于启动执行的版本或别名的 ARN。这些操作还会返回其他详细信息,包括执行的状态和 ARN。

您还可以提供状态机别名 ARN 或版本 ARN,以便列出与特定别名或版本关联的执行。

以下 ListExecutionsAPI 操作的示例响应显示了用于启动名为的状态机执行的别名的 ARN。myFirstExecution

以下代码段中的斜体文本表示特定于资源的信息。

{ "executions": [ { "executionArn": "arn:aws:states:us-east-1:123456789012:execution:myStateMachine:myFirstExecution", "stateMachineArn": "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine", "stateMachineAliasArn": "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:PROD", "name": "myFirstExecution", "status": "SUCCEEDED", "startDate": "2023-04-20T23:07:09.477000+00:00", "stopDate": "2023-04-20T23:07:09.732000+00:00" } ] }

您还可以从 Step Functions 控制台中查看由版本或别名启动的执行。以下步骤显示如何查看使用特定版本启动的执行:

  1. 打开 Step Functions 控制台,然后选择一个已发布版本或创建别名的现有状态机。此示例说明如何查看使用特定状态机版本启动的执行。

  2. 选择版本选项卡,然后从版本列表中选择一个版本。

    提示

    按属性或值框筛选,搜索特定版本。

  3. 版本详细信息页面上,您可以看到使用所选版本启动的所有正在进行和过去的状态机执行列表。

下图显示了版本详细信息 控制台页面。该页面列出了由名为 MathAddDemo 的状态机版本 4 启动的执行。此列表还显示由名为 PROD 的别名启动的执行。此别名将执行流量路由到版本 4


                    版本详细信息 控制台页面显示了由版本 4 启动的三个执行的列表。其中两次执行是由版本 4 启动的。第三次执行是由一个名为 PROD 的别名启动的。此别名将执行流量路由到版本 4。

对于使用Qualified ARN 启动的每个状态机执行,Step Functions 都会发出与当前发出的指标具有相同名称和值的其他指标。这些其他指标包含启动执行时使用的每个版本标识符和别名的维度。利用这些指标,您可以监控版本级别的状态机执行,并确定何时可能需要回滚方案。您也可以根据这些指标创建 Amazon CloudWatch 警报

Step Functions 会针对您使用别名或版本启动的执行发出以下指标:

  • ExecutionTime

  • ExecutionsAborted

  • ExecutionsFailed

  • ExecutionsStarted

  • ExecutionsSucceeded

  • ExecutionsTimedOut

如果您使用版本 ARN 启动执行,Step Functions 会发布包含 StateMachineArn 的指标以及包含 StateMachineArnVersion 维度的第二个指标。

如果您使用别名 ARN 启动执行,Step Functions 会发出以下指标:

  • 非限定 ARN 和版本的两个指标。

  • 具有 StateMachineArnAlias 维度的指标。