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

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

在 Step Functions 工作流工作室中开发工作流程

使用 Workflow Studio for Amazon Step Functions,你可以在画布上进行 drag-and-drop状态以可视化方式构建工作流程。您可以直观地添加和编辑状态、配置输入和输出过滤器、转换结果以及设置错误处理。

当您在工作流程中修改状态时,Workflow Studio 将验证并自动生成状态机定义。您可以使用内置的代码编辑器查看生成的代码、编辑配置,甚至修改文本定义。完成后,您可以保存工作流程,运行它,然后检查结果。

创建或编辑工作流程时,您可以从 Step Functions 控制台访问 Workflow Studio。

你也可以从内部使用 Workflow Studio Amazon 基础设施编辑器,一个可视化设计器,用于使用 Amazon Serverless Application Model 和创建基础架构即代码 Amazon CloudFormation。 要了解这种方法的好处,请参阅在中使用工作流工作室 Infrastructure Composer

注意

工作流工作室不支持 Internet Explorer 11,因此你必须选择其他浏览器。

Workflow Studio 有三种模式:设计代码配置。在设计模式下,可以在画布上显示 drag-and-drop状态。代码模式提供了一个内置的代码编辑器,用于在控制台中编辑工作流程定义。在 Config 模式下,您可以管理您的工作流程配置。

设计模式

设计模式提供了一个图形界面,可在您构建工作流程原型时对其进行可视化。下图显示了 Workflow Studio 设计模式下的状态浏览器、工作流画布、检查器和上下文帮助面板。

设计模式的屏幕截图,显示状态浏览器、工作流程画布、检查器和帮助面板。
  1. 模式按钮在这三种模式之间切换。如果您的ASL工作流程定义无效,则无法切换模式。

  2. 状态浏览器包含以下三个选项卡:

    • 操作” 选项卡提供了一个列表 Amazon APIs,您可以将其拖放到画布中的工作流程图中。每个操作都代表一个 任务工作流状态 状态。

    • 选项卡提供了流状态列表,您可以将这些状态拖放到画布中的工作流图中。

    • P at terns 选项卡提供了几个 ready-to-use可重复使用的构造块,您可以将其用于各种用例。例如,您可以使用这些模式以迭代方式处理 Amazon S3 存储桶中的数据。

  3. 您可以在画布和工作流程图上将状态拖放到工作流图中,更改状态的顺序,并选择要配置或查看的状态。

  4. “检查器” 面板面板中,您可以查看和编辑画布上所选状态的属性。打开定义切换开关,可查看工作流的 Amazon States Language 代码,并突出显示当前选定的状态。

  5. 需要帮助时,可以使用信息链接打开一个包含上下文信息的面板。这些面板还包括指向 Step Functions 文档中相关主题的链接。

  6. 设计工具栏 – 包含一组用于执行常见操作的按钮,例如撤消、删除和放大。

  7. 实用程序按钮 — 一组用于执行任务的按钮,例如保存工作流程或将其ASL定义导出到JSON或YAML文件中。

状态浏览器

在状态浏览器中,您可以选择要拖放到工作流程画布上的状态。“操作” 选项卡提供了连接到第三方HTTP端点的任务状态列表,以及 Amazon APIs. Flow 选项卡提供了一个状态列表,您可以使用这些状态来指导和控制工作流程。流程状态包括:选择、并行、映射、通过、等待、成功和失败。“模式” 选项卡提供了 ready-to-use可重复使用的预定义构造块。您可以使用面板顶部的搜索框在所有状态类型中进行搜索。

显示动作、流程、模式和搜索的屏幕截图说明性集合。

画布和工作流程图

选择要添加到工作流程的状态后,可以将其拖到画布上,然后将其拖放到工作流程图中。您也可以拖放状态以在工作流程中移动它们。如果您的工作流程很大,则可以放大或缩小以在画布中查看工作流程图的不同部分。

“检查器” 面板

您可以从右侧的 Ins pector 面板配置添加到工作流程中的任何状态。选择要配置的状态,即可在 Inspector 面板中看到其配置选项。要查看工作流程代码的自动生成的ASL定义,请打开 “定义” 开关。与您选择的州关联的ASL定义将突出显示。

显示配置面板的工作流工作室检查器的说明性屏幕截图
显示代码定义的工作流工作室检查器面板的说明性屏幕截图

代码模式

在 Workflow Studio 的代码模式下,您可以使用集成的代码编辑器在 Step Functions 控制台中查看、编写和编辑工作流程的 使用 Amazon States 语言定义 Step Functions 工作流程 (ASL) 定义。以下屏幕截图显示了代码模式下的组件。

在 “代码” 模式下编辑工作流程定义的说明性屏幕截图。
  1. 模式按钮在这三种模式之间切换。如果您的ASL工作流程定义无效,则无法切换模式。

  2. 您可以代码编辑器在 Workflow Studio 中编写和编辑工作流程的ASL定义。代码编辑器还提供语法突出显示和自动完成等特征。

  3. 图形可视化 – 显示工作流的实时图形可视化。

  4. 实用程序按钮 — 一组用于执行任务的按钮,例如保存工作流程或将其ASL定义导出到JSON或YAML文件中。

  5. 代码工具栏 – 包含一组用于执行常见操作的按钮,例如撤消操作或格式化代码。

  6. 图表工具栏 – 包含一组用于执行常见操作的按钮,例如放大和缩小工作流图表。

代码编辑器

代码编辑器提供了一种IDE类似于在 Workflow Studio JSON 中编写和编辑工作流程定义的体验。代码编辑器包括多项功能,例如语法突出显示、自动完成建议、ASL定义验证和上下文相关帮助显示。更新工作流定义时,图形可视化会呈现工作流的实时图表。您还可以在设计模式中查看更新的工作流图。

如果您在设计模式或图表可视化窗格中选择一个状态,则该状态的ASL定义将在代码编辑器中突出显示。如果您在设计模式或图表可视化窗格中重新排序、删除或添加状态,则工作流程的ASL定义会自动更新。

代码编辑器可以对自动填写字段和状态提出建议。

  • 要查看可在特定状态下包含的字段列表,请按 Ctrl+Space

  • 要为工作流程中的新状态生成代码片段,请在当前状态定义Ctrl+Space后按。

  • 要显示所有可用命令和键盘快捷键的列表,请按F1

图形可视化

图表可视化面板以图形格式显示您的工作流程。当在 Workflow Studio 的代码编辑器中编写工作流定义时,图表可视化窗格会呈现工作流的实时图表。

当在图表可视化窗格中重新排序、删除或复制状态时,代码编辑器中的工作流定义会自动更新。同样,当您在代码编辑器中更新工作流定义、重新排序、删除或添加状态时,可视化窗格也会自动更新。

如果工作流程ASL定义JSON中的无效,则图表可视化面板会暂停渲染并在窗格底部显示状态消息。

配置模式

在 Work flow Studio 的 Config 模式下,你可以管理状态机的常规配置。在此模式下,您可以指定设置,例如:

  • 详细信息:设置工作流程名称类型。请注意,在创建状态机之后,两者都无法更改。

  • 权限:您可以创建新角色(推荐)、选择现有角色或ARN为特定角色输入。如果您选择创建新角色的选项,Step Functions 将使用最少权限为您的状态机创建执行角色。生成的IAM角色对 Amazon Web Services 区域 您在其中创建状态机的角色有效。在创建之前,您可以查看 Step Functions 将自动为状态机生成的权限。

  • 日志记录:您可以为状态机启用和设置日志级别。Step Functions 会根据您的选择记录执行历史事件。您可以选择使用客户管理的密钥来加密您的日志。有关日志级别的更多信息,请参阅Step Functions 执行事件的日志级别

其他配置中,您可以设置以下一个或多个可选配置选项:

  • 启用 X-Ray 跟踪:您可以将跟踪发送到 X-Ray 用于状态机执行,即使上游服务未传递跟踪 ID 也是如此。有关更多信息,请参阅 Trace Step Functions 请求数据 Amazon X-Ray

  • 创建时发布版本版本是您可以运行的状态机快照,带编号且不可变。选择此选项可在创建状态机时发布状态机的版本。Step Functions 将版本 1 作为状态机的第一个修订版发布。有关版本的更多信息,请参阅Step Functions 工作流程中的状态机版本

  • 使用客户管理的密钥加密:您可以提供一个由您直接管理的密钥来加密您的数据。有关信息,请参阅。静态数据加密

  • 标签:选择此框可添加标签,这些标签可以帮助您跟踪和管理与资源相关的成本,并为您的IAM策略提供更好的安全性。有关标签的更多信息,请参阅 在 Step Functions 中标记状态机和活动