

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

# 在 Step Functions 控制台中查看执行详细信息
<a name="concepts-view-execution-details"></a>

可以在 Step Functions 控制台的*执行* 部分中查看工作流程的正在进行的执行和过去的执行。

在*执行* 详细信息中，可以查看状态机的定义、执行状态、ARN、状态转换次数以及工作流程中各个状态的输入和输出。

![\[显示执行列表的说明性屏幕截图。\]](http://docs.aws.amazon.com/zh_cn/step-functions/latest/dg/images/view-executions.png)


标准工作流程执行详细信息记录在 Step Functions 中，但快速工作流程执行的历史记录不记录在其中。要记录快速工作流程执行，必须将快速状态机配置为将日志发送到 Amazon CloudWatch。要为 Step Functions 设置日志记录，请参阅 [登录 CloudWatch 日志](cw-logs.md)。

查看这两种类型的工作流程执行的控制台体验是相似的，但快速工作流程存在一些限制。请参阅[标准和快速控制台体验的差别](#console-exp-differences)。

**注意**  
由于快速工作流的执行数据是使用 CloudWatch Logs Insights 显示的，因此扫描日志将产生费用。默认情况下，您的日志组仅列出最近三个小时内完成的执行。如果您指定较大的时间范围，包括更多的执行事件，则成本将会增加。有关更多信息，请参阅 [CloudWatch Pricing](https://aws.amazon.com/cloudwatch/pricing) 页面上 **Logs** 选项卡下的 **Vended Logs**。

## 执行详细信息概览
<a name="exec-details-interface-overview"></a>

执行详细信息链接和页面标题使用 Step Functions 生成的唯一执行 ID，或您在启动工作流程时提供的自定义 ID。*执行详细信息* 页面包含用于管理状态机的指标和以下选项：
+ **停止执行** – 停止正在进行的执行。（对已完成的执行不可用。）
+ **启动新执行**：启动新的状态机执行
+ **Redrive**：Redrive过去 14 天内未成功完成的标准工作流程的执行，包括失败、中止或超时的执行。有关更多信息，请参阅 [Redriving 状态机](redrive-executions.md)。
+ **导出**：以 JSON 格式导出执行详细信息，以便共享或进行离线分析。

**查看以版本或别名启动的执行**  
您还可以在 Step Functions 控制台中查看以版本或别名启动的执行。有关更多信息，请参阅[列出版本和别名功能的执行](execution-alias-version-associate.md#view-version-alias-executions)。

*执行详细信息* 控制台页面包含下列部分：

1. [执行摘要](#exec-details-intf-exec-summ)

1. [错误消息](#exec-details-intf-error-banner)

1. [视图模式](#exec-details-intf-sm-wf-view)

1. [步骤详细信息](#exec-details-intf-step-details)

1. [事件](#exec-details-intf-events)

### 执行摘要
<a name="exec-details-intf-exec-summ"></a>

*执行摘要* 在以下选项卡中提供工作流程的执行详细信息概览：

**详细信息**：  
显示信息，例如执行状态、ARN 以及执行启动和结束时间的时间戳。您还可以查看运行状态机执行时发生的**状态转换**的总数。如果为状态机启用了跟踪或日志，则还可以查看 **X-Ray 跟踪地图**和 Amazon CloudWatch **执行日志**的链接。  
如果状态机执行由另一个状态机启动，则可以在此选项卡上查看父状态机的链接。  
如果状态机执行了[redriven](redrive-executions.md)，则此选项卡会显示redrive相关信息，例如**Redrive计数**。

**执行输入和输出**  
并排显示状态机执行输入和输出。

**定义**  
显示状态机的 Amazon States Language 定义。

### 错误消息
<a name="exec-details-intf-error-banner"></a>

如果状态机执行失败，则*执行详细信息* 页面会显示一条错误消息。在错误消息中选择**原因**或**查看步骤详细信息**，查看执行失败的原因或导致错误的步骤。

如果您选择**查看步骤详细信息**，Step Functions 将在[步骤详细信息](#exec-details-intf-step-details)、[图表视图](#exec-details-intf-sm-wf-view)和[表格视图](#exec-details-intf-sm-wf-view)选项卡中突出显示导致错误的步骤。如果步骤是已定义重试的 Task、Map 或 Parallel 状态，则**步骤详细信息**窗格将显示该步骤的**重试**选项卡。此外，如果已redriven执行，则可以在**步骤详细信息**窗格的**重试次数和redrives**选项卡中查看重试次数和redrive的详细信息。

通过此错误消息上的**恢复**下拉按钮，您可以redrive失败执行或启动新的执行。有关更多信息，请参阅 [Redriving 状态机](redrive-executions.md)。

*执行详细信息* 页面上将显示失败的状态机执行的错误消息。错误消息还将链接到导致执行失败的步骤。

### 视图模式
<a name="exec-details-intf-sm-wf-view"></a>

*视图模式* 部分包含状态机两种不同的可视化效果。您可以选择查看工作流的图形化表示、概述工作流状态的表格或与状态机执行相关的事件列表：

#### 图表视图
<a name="exec-details-intf-sm-wf-view-graph"></a>

**图表视图**模式显示工作流的图形化表示。底部包含一个图例，用于指示状态机的执行状态。它还包含用于放大、缩小、居中对齐整个工作流或在全屏模式下查看工作流的按钮。

从图表视图中，可以选择工作流程中的任意步骤，以便在*[步骤详细信息](#exec-details-intf-step-details)* 组件中查看有关其执行的详细信息。在**图表视图**中选择一个步骤后，**表格视图**也会显示该步骤。反之亦然。如果从**表格视图**中选择一个步骤，则**图表视图**将显示相同的步骤。

如果状态机包含 `Map` 状态、`Parallel` 状态或两者兼有，则可以在**图表视图**中查看它们在工作流中的名称。此外，对于 `Map` 状态，**图表视图**允许您在 **Map** 状态执行数据的不同迭代之间移动。例如，如果您的 **Map** 状态有五次迭代，并且您想要查看第三个和第四次迭代的执行数据，请执行以下操作：

1. 选择要查看其迭代数据的 **Map** 状态。

1. 在 **Map 迭代查看器**中，从下拉列表中选择 **\$12** 来查看第三次迭代。这是因为迭代是从零开始计算的。同样，从下拉列表中选择 **\$13** 表示 **Map** 状态的第四次迭代。

   或者，使用向上箭头图标和向下箭头图标控件在 **Map** 状态的不同迭代之间移动。
**注意**  
如果状态机包含嵌套的 `Map` 状态，则将显示父和子 `Map` 状态迭代的下拉列表来表示迭代数据。

1. （可选）如果一次或多次 **Map** 状态迭代执行失败或停止执行，则可以通过在下拉列表的**失败**或**中止**下选择这些迭代编号来查看其数据。

最后，您可以使用**导出**和**布局**按钮将工作流图表导出为 SVG 或 PNG 图像。您也可以在工作流的水平和垂直视图之间切换。

#### 表视图
<a name="exec-details-intf-sm-wf-view-graph"></a>

**表格视图**模式以表格形式显示工作流中的状态。在此*视图模式* 下，您可以查看工作流中执行的每个状态的详细信息，包括其名称、使用的任何资源名称（例如 AWS Lambda 函数）以及该状态是否成功执行。

在此视图中，您可以选择工作流中的任何状态，在*[步骤详细信息](#exec-details-intf-step-details)* 组件中查看有关其执行的详细信息。当您在**表格视图**中选择一个步骤时，**图表视图**也会显示该步骤。反之亦然。如果您从**图表视图**中选择一个步骤，则**表格视图**将显示相同的步骤。

您还可以通过对视图应用筛选条件来限制在**表格视图**模式下显示的数据数量。您可以为特定属性创建筛选条件，例如**状态**或**Redrive尝试**。有关更多信息，请参阅 [检查执行](debug-sm-exec-using-ui.md)。

默认情况下，此模式显示**名称**、**类型**、**状态**、**资源**和**之后开始**列。您可以使用**首选项**对话框配置要查看的列。您在此对话框中所做的选择会持续用于将来的状态机执行，直到再次更改。

如果添加**时间线**列，则显示每个状态的执行持续时间相对于整个执行的运行时间的状况。它将以彩色编码的线性时间线显示。这可以帮助您识别特定状态执行中任何与性能相关的问题。时间线上每个状态的颜色编码段可帮助您识别该状态的执行状态，例如进行中、失败或中止。

例如，如果您在状态机中为某个状态定义了执行重试，则这些重试将显示在时间线中。红色段代表失败的 `Retry` 尝试，而浅灰色段代表每次 `Retry` 尝试之间的 `BackoffRate`。

![\[表格视图的屏幕截图，时间线上有用颜色编码的分段。\]](http://docs.aws.amazon.com/zh_cn/step-functions/latest/dg/images/sm-table-view-timeline-color-codes.png)


如果状态机包含 `Map` 状态、`Parallel` 状态或两者兼有，则可以在工作流中以**表格视图**查看它们的名称。对于 `Map` 和 `Parallel` 状态，**表格视图**模式将其迭代和并行分支的执行数据显示为树形视图中的节点。您可以选择这些状态中的每个节点，在*[步骤详细信息](#exec-details-intf-step-details)* 部分查看其各自的详细信息。例如，您可以查看导致状态失败的特定 **Map** 状态迭代的数据。展开 **Map** 状态的节点，然后在**状态**列中查看每次迭代的状态。

### 步骤详细信息
<a name="exec-details-intf-step-details"></a>

在**图表视图**或**表格视图**中选择状态时，*步骤详细信息* 部分将在右侧打开。该部分包含以下选项卡，可为您提供所选状态的详细信息：

**输入**  
显示所选状态的输入详细信息。如果输入中有错误，则会在选项卡标题上用错误图标表示。此外，您还可以在此选项卡中查看错误的原因。  
您也可以选择**高级视图**切换按钮，查看数据通过选定状态时的输入数据传输路径。您可以借此识别将一个或多个字段（例如 `InputPath`、`Parameters`、`ResultSelector`、`OutputPath` 和 `ResultPath`）应用于数据时，输入是如何被处理的。

**输出**：  
显示选定状态的输出。如果输出中有错误，则会在选项卡标题上用错误图标表示。此外，您还可以在此选项卡中查看错误的原因。  
您也可以选择**高级视图**切换按钮，查看数据通过选定状态时的输出数据传输路径。您可以借此识别将一个或多个字段（例如 `InputPath`、`Parameters`、`ResultSelector`、`OutputPath` 和 `ResultPath`）应用于数据时，输入是如何被处理的。

**详细信息**：  
显示状态类型、执行状态和执行持续时间等信息。  
对于使用资源的 `Task` 状态（例如 AWS Lambda），此选项卡提供了资源定义页面和资源调用的 Amazon CloudWatch Logs 页面的链接。它还会显示 `Task` 状态的 `TimeoutSeconds` 和 `HeartbeatSeconds` 字段的值（如果已指定）。  
对于 `Map` 状态，此选项卡显示有关 `Map` 状态迭代总数的信息。迭代分为**失败**、**中止**、**成功**或**正在进行**。

**定义**  
显示与所选状态对应的 Amazon States Language 定义。

**重试**  
仅当您在状态机的 `Task` 或 `Parallel` 状态中定义了 `Retry` 字段时，才会显示此选项卡。
显示所选状态在最初执行尝试中的初始和后续重试次数。对于初次尝试和所有后续失败的尝试，选择**类型**旁边的箭头图标，来查看下拉框中显示的失败**原因**。如果重试成功，则可以查看出现在下拉框中的**输出**。  
如果redriven了执行，则此选项卡标题将显示名称**重试和redrives**，并显示每次redrive的重试详细信息。

**事件**  
显示与执行中选定状态关联的事件的筛选列表。此选项卡上的信息是*[事件](#exec-details-intf-events)* 表格中完整执行事件历史记录的子集。

### 事件
<a name="exec-details-intf-events"></a>

**事件**表格以事件列表的形式，显示所选执行的完整历史记录，跨越多个页面。每页最多包含 25 个事件。此部分还显示事件总数，这可以帮助您确定是否超过了 2.5 万个事件的最大事件历史记录数。

![\[示例屏幕截图显示了工作流程执行的部分事件历史记录。\]](http://docs.aws.amazon.com/zh_cn/step-functions/latest/dg/images/sm-exec-details-event-view.png)


默认情况下，**事件**表格中的结果根据事件的**时间戳**按升序显示。您可以通过单击**时间戳**列标题将执行事件历史记录的排序更改为降序。

在**事件**表格中，每个事件都采用颜色编码表示其执行状态。例如，失败的事件以红色显示。要查看有关事件的更多详细信息，请选择事件 ID 旁边的箭头图标。打开后，事件详细信息将显示事件的输入、输出和资源调用。

此外，在**事件**表格中，您可以应用筛选条件来限制显示的执行事件历史记录结果。您可以选择诸如 **ID** 或**Redrive尝试**之类的属性。有关更多信息，请参阅 [检查执行](debug-sm-exec-using-ui.md)。

## 标准和快速控制台体验的差别
<a name="console-exp-differences"></a>

**标准工作流**  
标准工作流的执行历史记录始终可查看过去 90 天内完成的执行。

**快速工作流**  
对于快速工作流程，Step Functions 控制台会检索通过 CloudWatch Logs 日志组收集的日志数据来显示执行历史记录。默认情况下，可以查看过去**三个小时内**完成的执行的历史记录。您可以自定义时间范围。如果您指定了较大的时间范围而包括更多的执行事件，则扫描日志的成本将增加。有关更多信息，请参阅 [CloudWatch 定价页面](https://aws.amazon.com/cloudwatch/pricing)**日志**选项卡下的**已出售日志**，以及[登录 CloudWatch 日志](cw-logs.md)。

## 查看快速工作流执行的注意事项和限制
<a name="exp-wf-exec-limitations"></a>

在 Step Functions 控制台上查看快速工作流程执行时，请谨记以下注意事项和限制：

### 快速工作流执行详情的可用性依赖于 Amazon CloudWatch Logs
<a name="exp-wf-exec-limitation-cw-reliance-test"></a>

对于快速工作流，其执行历史记录和详细的执行信息通过 CloudWatch Logs Insights 收集。此信息保存在您创建状态机时指定的 CloudWatch Logs 日志组中。状态机的执行历史记录显示在 Step Functions 控制台的**执行**选项卡下。

**警告**  
如果您删除一个快速工作流的 CloudWatch Logs，则其历史记录将不会列在**执行**选项卡下。

建议您使用默认日志级别（**所有**）来记录所有执行事件类型。编辑现有状态机时，可以根据需要更新它们的日志级别。有关更多信息，请参阅[在 Step Functions 中使用 CloudWatch 日志记录执行历史记录](cw-logs.md)和[事件日志级别](cw-logs.md#cloudwatch-log-level)。

### 如果日志级别为“错误”或“严重”，则可获得部分快速工作流执行详细信息
<a name="exp-wf-exec-limitation-details-log-dependent-test"></a>

默认情况下，快速工作流执行的日志级别设置为**所有**。更改日志级别，不会影响已完成执行的执行历史记录和执行详细信息。但是，所有新的执行都将根据更新的日志级别发出日志。有关更多信息，请参阅[在 Step Functions 中使用 CloudWatch 日志记录执行历史记录](cw-logs.md)和[事件日志级别](cw-logs.md#cloudwatch-log-level)。

例如，如果您将日志级别从 **ALL** 更改为 **ERROR** 或 **FATAL**，则 Step Functions 控制台上的**执行**选项卡将仅列出失败的执行。在**事件视图**选项卡中，控制台仅显示失败的状态机步骤的事件详细信息。

建议您使用默认日志级别（**所有**）来记录所有执行事件类型。编辑状态机时，您可以根据需要更新现有状态机的日志级别。

### 修改状态机后，无法查看先前执行的状态机定义
<a name="exp-wf-exec-limitation-def-disabled-test"></a>

对于快速工作流程，不会存储过往执行的状态机定义。如果您更改了状态机定义，则只能查看使用最新定义的执行的状态机定义。

例如，如果您从状态机定义中移除一个或多个步骤，Step Functions 会检测到定义与先前的执行事件不匹配。由于快速工作流不存储以前的定义，因此 Step Functions 无法显示在状态机定义早期版本上运行的状态机定义。因此，**定义**、**图表视图**和**表格视图**选项卡不可用于在状态机定义的早期版本上运行的执行。