

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

# 在 Amazon SWF 控制台中工作
<a name="swf-dg-using-console"></a>

Amazon SWF 控制台提供了配置、启动和管理工作流程执行的选项。

使用 Amazon SWF 控制台，您可以：
+ 注册工作流程域。
+ 注册工作流程类型和活动类型。
+ 启动、查看、发出信号、取消、终止和重启工作流程执行。

## 注册域
<a name="swf-dg-register-domain-console"></a>

工作流程在名为*域的 AWS 资源中运行，该域*控制着工作流程的范围。一个 AWS 账户可以有多个域，每个域可以包含多个工作流，但不同域中的工作流不能交互。

域名注册是控制台最初提供的唯一功能。注册至少一个域名后，您可以对该域执行以下操作：
+ 注册工作流程和活动类型。
+ 启动工作流程执行。
+ 取消、终止并发送信号至正在运行的工作流程执行中。
+ 重新启动已关闭的工作流程执行。

您还可以执行域名管理操作，例如弃用和取消删除域名。

启用域之后，无法将其用于创建新工作流执行或注册新工作流。弃用域名也会弃用该域中注册的所有活动和工作流。在域被弃用之前启动的执行将继续运行。

取消先前已弃用的域名后，您可以继续使用该域来注册工作流程类型并开始新的工作流程执行。

有关这些域管理操作的更多信息，请参阅[DeprecateDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_DeprecateDomain.html)和[UndeprecateDomain](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_UndeprecateDomain.html)。

## 注册工作流程类型
<a name="dg-swf-register-workflow"></a>

注册至少一个域后，您可以在 Amazon SWF 控制台中注册工作流程类型。

工作流类型是一组活动类型，它们执行目标并包含协调活动的逻辑。工作流类型协调和管理可在多个计算设备上异步运行的活动的执行，并具有顺序和并行处理方法。

**使用控制台注册 Amazon SWF 工作流程类型**

1. 打开您要在其中注册工作流的域。

1. 选择**注册**，然后选择**注册工作流**。

1. 在**注册工作流**页面上，输入**工作流名称**和**工作流版本**。或者，您也可以指定**[默认任务列表](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html#SWF-RegisterWorkflowType-request-defaultTaskList)**，用于为此工作流执行计划决策任务。

1. （可选）选择**高级选项**，为您的工作流指定以下详细信息：
   + **[默认任务优先级](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html#SWF-RegisterWorkflowType-request-defaultTaskPriority)** – 分配给工作流的默认任务优先级。
   + **[默认执行启动到关闭超时](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html#SWF-RegisterWorkflowType-request-defaultExecutionStartToCloseTimeout)** – 此工作流执行的默认最长持续时间。
   + **[默认任务启动到关闭超时](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html#SWF-RegisterWorkflowType-request-defaultTaskStartToCloseTimeout)** – 此工作流的决策任务的默认最长持续时间。
   + **[默认子策略](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html#SWF-RegisterWorkflowType-request-defaultChildPolicy)** – 用于子工作流执行的默认策略。
   + **[默认 Lambda 角色](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterWorkflowType.html#SWF-RegisterWorkflowType-request-defaultLambdaRole)** – 附加到此工作流的默认 IAM 角色。

1. 选择**注册工作流**。

## 注册活动类型
<a name="dg-swf-register-activity"></a>

活动是您希望您的工作流程类型协调和执行的任务（例如：验证客户的订单、从信用卡中扣款等）。活动的执行顺序由工作流类型的协调逻辑决定。

注册至少一个域名后，您就可以注册活动类型。

**使用控制台注册 Amazon SWF 活动类型**

1. 打开您要在其中注册活动的域。

1. 选择**注册**，然后选择**注册活动**。

1. 在**注册活动**页面上，输入**[活动名称](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html#SWF-RegisterActivityType-request-name)**和**[活动版本](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html#SWF-RegisterActivityType-request-version)**。或者，您也可以指定**[默认任务列表](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html#SWF-RegisterActivityType-request-defaultTaskList)**，用于计划此活动的任务。

1. （可选）选择**高级选项**，为您的活动指定以下详细信息：
   + **[默认任务优先级](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html#SWF-RegisterActivityType-request-defaultTaskPriority)** – 分配给活动的默认任务优先级。
   + 默认任务计划到启动超时 – 此活动的任务在分配给工作线程之前可以等待的默认最长时间。
   + **[默认任务启动到关闭超时](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html#SWF-RegisterActivityType-request-defaultTaskStartToCloseTimeout)** – 工作线程处理此活动的任务所需的默认最长时间。
   + **[默认任务计划到关闭超时](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html#SWF-RegisterActivityType-request-defaultTaskScheduleToCloseTimeout)** – 此活动的任务的默认最长持续时间。
   + **[默认任务心跳超时](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RegisterActivityType.html#SWF-RegisterActivityType-request-defaultTaskHeartbeatTimeout)**-处理此类任务的工作器必须通过调用[RecordActivityTaskHeartbeat](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_RecordActivityTaskHeartbeat.html)来报告进度的默认最长时间。

1. 选择**注册活动**。

## 启动工作流程
<a name="dg-swf-execution-start"></a>

您可以从 Amazon SWF 控制台启动工作流执行。除非注册了至少一个工作流类型，否则您不能启动工作流执行。

### 使用控制台启动工作流程执行
<a name="start-workflow-execution-console"></a>

1. 打开 Amazon SWF 控制台，在左侧导航窗格中选择**域**。

1. 在域名下方，选择**工作流**。

1. 在**工作流**页面上，选择要执行的工作流。

1. 选择**启动执行**。

1. 在**开始执行**页面上，输入**[工作流名称](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_WorkflowType.html#SWF-Type-WorkflowType-name)**和**执行 ID**，按名称标识您的执行。或者，您也可以指定一个**[任务列表](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html#SWF-StartWorkflowExecution-request-taskList)**，用于为该工作流执行生成的决策任务。

1. （可选）选择**高级选项**，为您的工作流执行指定以下详细信息：
   + **[任务优先级](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html#SWF-StartWorkflowExecution-request-taskPriority)** – 执行此工作流时要使用的任务优先级。
   + **[执行启动到关闭超时](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html#SWF-StartWorkflowExecution-request-executionStartToCloseTimeout)** – 此工作流执行的总持续时间。
   + **[任务启动到关闭超时](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html#SWF-StartWorkflowExecution-request-taskStartToCloseTimeout)** – 此工作流执行决策任务的最长持续时间。
   + **[子策略](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html#SWF-StartWorkflowExecution-request-childPolicy)**-此工作流程执行因显式调用[TerminateWorkflowExecution](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_TerminateWorkflowExecution.html)操作或超时已过期而终止时，用于执行该工作流程的子工作流程的策略。
   + **[Lambda 角色](https://docs.aws.amazon.com/amazonswf/latest/apireference/API_StartWorkflowExecution.html#SWF-StartWorkflowExecution-request-lambdaRole)** — 要附加到此工作流程执行的 IAM 角色。

1. 选择**启动执行**。

## 管理工作流程执行
<a name="swf-dg-console-manage-workflow-executions"></a>

您可以按名称、状态、ID 和标签筛选工作流程执行。您可以将带有输入的信号发送到活动的工作流程执行中。如果您需要取消或终止工作流程，可以使用 “**尝试取消” 选项**。取消比终止工作流程执行更可取，因为取消可以让工作流程有机会执行任何清理任务，然后正确关闭。

在控制台中，您可以管理当前正在 and/or 关闭的工作流程执行。

**管理您的工作流执行**

1. 打开一个域来管理其工作流执行。

1. 选择**查找执行**。

1. 在**工作流执行**页面上，选择**按属性筛选执行**，然后在**属性**下选择以下筛选条件之一：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/amazonswf/latest/developerguide/swf-dg-using-console.html)

1. （可选）应用所需筛选条件列出工作流执行后，您可以对**活跃**执行执行以下操作：
   + **信号** – 使用此选项向正在运行的工作流执行发送其他数据。要实现此目的，应按照以下步骤进行：

     1. 选择要向其发送其他数据的执行。

     1. 选择**信号**，然后在**信号执行**对话框中指定数据。

     1. 选择**信号**。
   + **尝试取消** – 使用此选项尝试取消工作流执行。最好的做法是取消工作流执行而不是终止它。取消可使工作流执行有机会执行任何清理任务然后正确关闭任务。

     1. 选择要取消的执行。

     1. 选择**尝试取消**。
   + **终止** – 使用此选项终止工作流执行。请注意，最好的做法是取消工作流执行而不是终止它。

     1. 选择要终止的执行。

     1. 对于**子策略**，请确保选中**终止**。

     1. （可选）指定终止执行的**原因**和**详细信息**。

     1. 选择**终止**。

1. （可选）**重新运行** – 使用此选项重新运行已关闭的工作流执行。

   1. 在工作流执行列表中，选择要重新运行的已关闭执行。在=选择已关闭的执行时，系统会启用**重新运行**按钮。选择**重新运行**。

   1. 在**重新运行执行**页面上，指定工作流执行的详细信息，如 [启动工作流程](#dg-swf-execution-start) 中所述。