使用 Workflow - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用 Workflow

学习如何使用 Step Functions 工作流工作室创建、编辑和运行工作流。工作流准备就绪后,您可以将其导出。您还可以使用工作流工作室进行快速原型制作。

创建工作流

要使用工作流工作室创建工作流:

  1. 登录到Step Functions 控制台

  2. 在存储库的选择创作方法页面上,选择可视化设计您的工作流

    
              Step Functions 控制台创作方法选择
  3. UNTER类型中,选择Standard或者Express,然后选择下一步Standard推荐用于第一台状态机。

  4. 使用工作流工作室设计工作流,然后选择下一步

    注意

    如果您在工作流中看到错误,您可以留在 Workflow Studio 中并更正错误,也可以继续执行下一步并更正代码中的错误。

  5. 在存储库的查看生成的代码页面上,您可以查看生成的工作流程的亚马逊状态语言定义。如果要进行更改,可以在定义面板。您也可以访问生成代码段。完成后,选择 Next

  6. UNTERPermissions (权限),选择创建新的 IAM 角色

    • 创建新的 IAM 角色— 如果您希望 “Step Functions” 根据状态机的定义及其配置详细信息为您创建新的 IAM 角色,请选择此选项。

    • 选择现有角色— 如果您之前为 Step Functions 创建了 IAM 角色,且状态机具有正确的权限,请选择此选项。

    • 输入角色 ARN— 如果知道要用于 Step Functions 的 IAM 角色的 ARN 详细信息,请选择此选项。

  7. 选择 Create state machine (创建状态机)

现在,您就可以运行新的工作流了。

设计工作流程

如果您知道要添加的状态的名称,请使用顶部的搜索功能在操作和流中查找它。


          Step Functions 工作流工作室搜索

否则,请从状态浏览器中选择状态,然后将其拖放到画布中,将其放置在工作流中所需的位置。您还可以通过将工作流中的状态拖动到工作流中的其他位置来对状态进行重新排序。将状态拖动到画布上时,会出现一条线条,您可以将其放入工作流中的任何位置。一旦状态被拖放到画布上,其代码将自动生成并添加到您的工作流定义中。


          Step Functions 工作流工作室将状态添加到画布

将状态拖放到画布中后,您可以使用换页面板。例如,Lambda 调用状态配置包含以下部分:


          配置选项
  1. 这些区域有:州名称标识状态。您可以使用自己的名称或接受默认生成的名称。

  2. 这些区域有:API显示了操作使用的 API。

  3. 这些区域有:函数名称提供了以下选项:

    • 输入函数名称:您可以输入您的函数名称或其 ARN。

    • 在运行时从状态输入获取函数名:您可以使用此选项根据您指定的路径从状态输入中动态获取函数名称。

    • 选择函数名称:您可以直接从您的账户和地区提供的功能中进行选择。

  4. 这些区域有:Payload允许您选择以下项:

    • 使用状态输入作为有效载荷您可以使用此选项将状态的输入作为提供给 Lambda 函数的有效载荷传递。

    • 输入您自己的有效载荷你可以使用此选项构造一个 JSON 对象,作为有效载荷传递给 Lambda 函数。此 JSON 可以包含静态值和从状态输入中选择的值。

    • 无负载如果不希望将任何负载传递到 Lambda 函数,则可以使用此选项。

  5. 下一个状态允许您选择要转换到下一个状态。

  6. (可选)注释字段可用于添加您自己的评论。它不会影响工作流,但可用于注释您的工作流。

  7. (可选)某些州将有一个选项来选择等待任务完成或者等待回调。如果可用,这些选项可以选择以下项之一服务集成模式

    • 未选择选项:Step Functions 将使用请求响应集成模式。Step Functions 将等待 HTTP 响应,然后进行下一个状态。Step Functions 不会等待作业完成。当没有可用选项时,状态将使用此模式。

    • 等待任务完成:Step Functions 将使用运行作业集成模式。

    • 等待回调:Step Functions 将使用等待具有任务令牌的回调集成模式。

某些状态将具有更多通用的配置选项。例如,Amazon ECSRunTask状态配置包含API Parameters字段中填充了占位符值。


          配置选项

对于这些状态,您可以使用适合您需要的配置替换占位符值。

要删除状态,可以使用退格,右键单击并选择删除状态,或使用换页,然后选择删除状态


          删除状态

随着工作流的增长,它可能不适合画布。您可以:

  1. 使用侧面板上的控件收缩或关闭面板。

  2. 使用画布顶部的控件来放大或缩小工作流图表。


          画布控件

运行工作流程

使用 Workflow Studio 创建或编辑工作流后,您可以在 “Step Functions” 控制台中运行该工作流并查看其执行情况:

  1. 在 “Step Functions” 控制台中选择您的工作流。

  2. 选择 Start execution (开始执行)。这些区域有:启动执行对话框。

  3. 选择启动执行以运行工作流程。

  4. 您可以在图形检查器。选择每个步骤以查看有关其执行的详细信息。

编辑您的工作流程

您可以使用 Workflow Studio 直观地编辑现有工作流,也可以在代码中编辑现有工作流。要编辑现有工作流:

  1. 选择要编辑的工作流。

  2. 选择 Edit

    
              编辑工作流
  3. 状态机有两个窗格:代码窗格和可视工作流窗格。选择工作流程以使用 Workflow Studio 编辑您的工作流。完成此操作后,选择应用并退出保存您的更改并退出。

    注意

    如果您在工作流中看到错误,您可以留在 Workflow Studio 中并更正错误,也可以继续执行下一步并更正代码中的错误。

  4. (可选)使用代码窗格编辑代码中的工作流定义。

  5. 如果您已将新资源添加到工作流,请在Permissions (权限)中,选择创建新角色或使用允许其他访问这些资源的角色。

  6. 选择Save保存已更新的工作流。

导出您的工作流程

您可以导出工作流程的亚马逊州语言代码以及工作流程图表:

  1. 在 “Step Functions” 控制台中选择您的工作流。

  2. 选择定义

  3. (可选)选择编辑

  4. 在工作流定义中:

    • 要导出工作流程的代码,请选择它,然后将其复制到其目标位置。

    • 要将工作流的图形导出为 SVG 或 PNG 文件,请选择Export,然后选择要使用的格式。

原型工作流程

您可以使用 Workflow Studio 对包含占位符资源的新工作流进行原型设置。要创建原型:

  1. 登录到Step Functions 控制台

  2. 在存储库的选择创作方法页面上,选择可视化设计您的工作流

  3. UNTER类型中,选择Standard或者Express,然后选择下一步

  4. 使用工作流工作室设计您的工作流。要包括占位符资源:

    1. 选择要包含占位符资源的状态:

      • 对于 Lambda 调用状态,在配置中,选择函数名称,然后选择输入函数名。输入您的函数的自定义名称。

      • 对于 Amazon SQS 发送消息状态,请在配置中,选择队列 URL,然后选择输入队列 URL。输入占位符队列 URL。

      • 对于下列出的所有其他州操作,则可以使用默认配置。

    2. 选择 Next (下一步)

      注意

      如果您在工作流中看到错误,您可以留在 Workflow Studio 中并更正错误,也可以继续执行下一步并更正代码中的错误。

    3. 在存储库的Review generated code页面上,您可以查看生成的工作流程的亚马逊状态语言定义。如果需要,请在定义,然后选择下一步

    4. 指定您的工作流设置,然后选择创建状态机

现在,您已经创建了一个新的工作流,其中包含可用于原型的占位符资源。您可以导出工作流定义和工作流的图形。

  • 要导出工作流定义,请选择该定义并将其复制到剪贴板。您可以粘贴此定义并将其用作本地开发的起点,Amazon Toolkit for Visual Studio Code

  • 要将工作流的图形导出为 SVG 或 PNG 文件,请选择Export,然后选择要使用的格式。