界面概述 - AWS Step Functions

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

界面概述

Workflow Studio for AWS Step Functions 是一款低代码的可视化工作流设计器,可让您通过编排来创建无服务器工作流程。 AWS 服务借助拖放特征,Workflow Studio 可让您轻松构建、编辑和可视化工作流原型。Workflow Studio 还提供了一个内置的代码编辑器,用于在 Step Functions 控制台中使用 Amazon States Language (ASL) 编写和编辑工作流定义。

为了帮助您构建和可视化工作流、编辑其定义和管理其配置,Workflow Studio 提供了三种模式:设计代码配置。以下各部分详细描述了这些模式。

设计模式

Workflow Studio 的设计模式提供了一个图形界面,可在您构建工作流原型时对其进行可视化。下图显示了设计模式中可用的不同组件。

Workflow Studio 的设计模式。此模式包含各种组件,例如左侧的状态浏览器、中间的画布、画布右侧的 Inspector 面板以及最右侧窗格中的上下文帮助。该图显示了 Lambda 函数 Inspector 面板中的配置选项。
  1. 模式按钮 – 使用模式按钮在 Workflow Studio 的设计代码配置模式之间进行切换。如果工作流 ASL 定义中的 JSON 无效,则无法切换模式。

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

    • 操作” 选项卡提供了 AWS API 列表,您可以将这些API拖放到画布中的工作流程图中。每个操作都代表一个 Task 状态。

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

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

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

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

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

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

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

状态浏览器

状态浏览器中,您可以选择要拖放到工作流图中的状态。“操作” 选项卡提供 AWS API 列表,“流程” 选项卡提供流程状态列表。而 “模式” 选项卡提供了几个 ready-to-use可重复使用的构建块,您可以将其用于各种用例。您可以使用顶部的搜索框在状态浏览器中搜索所有状态。

Step Functions Workflow Studio 状态浏览器界面组件。该图像显示了状态浏览器中可用的三个选项卡:操作、流和模式。

您可以使用七种流状态来指导和控制您的工作流。所有状态都会接收前一个状态的输入,其中多数还可以筛选前一个状态的输入,并输出到后面的状态。流状态包括:

  • Choice:在工作流的执行分支之间添加选择。在 Inspector 的配置选项卡中,您可以配置规则,用于确定工作流将过渡到哪个状态。

  • Parallel:为工作流添加并行执行分支。

  • Map:针对输入数组每个元素的动态迭代步骤。与 Parallel 流状态不同,Map 状态将对状态输入中数组的多个条目执行相同的步骤。

  • Pass: 允许将输入传递到输出。(可选) 您可以将固定数据添加到输出。

  • Wait:让工作流暂停一段时间或直到指定的时间或日期。

  • Succeed:成功后停止工作流。

  • Fail:因故障而停止工作流。

画布

选择要添加到工作流的状态后,将其拖到画布上,然后放到工作流图中。您也可以拖放状态,将其移动到工作流中的不同位置。如果您的工作流很复杂,您可能无法在画布面板上查看其所有内容。使用画布顶部的控件可以放大或缩小。要查看工作流图的不同部分,您可以在画布中拖动工作流图。

操作选项卡中将状态拖放到工作流中。有一条线将显示其在您工作流中的放置位置。新的工作流状态已添加到工作流中,其代码会自动生成。

Workflow Studio 画布

要更改状态的顺序,您可以将其拖动到工作流中的其他位置。

Workflow Studio 拖放

Inspector

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

Workflow Studio inspector 配置面板
Workflow Studio inspector 定义面板

代码模式

Workflow Studio 的代码模式提供了一个集成的代码编辑器,用于在 Step Functions 控制台中查看、编写和编辑工作流的 Amazon States Language (ASL) 定义。下图显示了代码模式下可用的不同组件。

Step Functions Workflow Studio 代码模式。此模式展示了工作流定义的示例,以及基于定义实时渲染工作流图的示例。
  1. 模式按钮 – 使用模式按钮在 Workflow Studio 的设计代码配置模式之间进行切换。如果工作流 ASL 定义中的 JSON 无效,则无法切换模式。

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

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

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

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

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

代码编辑器

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

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

Step Functions Workflow Studio 组件

将光标放在工作流定义中的任何字段上,即可以工具提示的形式查看其上下文相关帮助。

Step Functions Workflow Studio

自动完成建议会显示可包含在工作流中的字段或状态的代码段。要查看可在特定状态下包含的字段列表,请按 Ctrl+Space。要为工作流中的新状态生成代码段,请在当前状态定义后按 Ctrl+Space。您也可以按 F1 键显示可用命令列表。

Step Functions Workflow Studio 组件

图表可视化窗格

图形可视化可让您以图形格式查看工作流的外观。当在 Workflow Studio 的代码编辑器中编写工作流定义时,图表可视化窗格会呈现工作流的实时图表。当在图表可视化窗格中重新排序、删除或复制状态时,代码编辑器中的工作流定义会自动更新。同样,当您在代码编辑器中更新工作流定义、重新排序、删除或添加状态时,可视化窗格也会自动更新。

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

配置模式

Workflow Studio 的配置模式可用于管理状态机的配置。在此模式下,您可以指定详细信息,例如状态机名称及其类型、IAM 权限以及状态机的日志配置。您可以在此模式下指定的其他配置包括在创建状态机时启用 AWS X-Ray 跟踪和发布版本。创建状态机后,您可以编辑所有状态机配置选项,但无法编辑状态机名称和类型。下图展示了您可以在配置模式下可以指定的一些配置。

可以在配置模式下指定的状态机配置。
管理状态机配置

要管理状态机配置,请执行以下操作:

  1. 状态机名称框中输入状态机的名称。

    提示

    或者,选择默认状态机名称旁边的编辑图标MyStateMachine。然后,在状态机配置下指定一个名称。

    重要

    创建状态机后,将无法编辑状态机名称。

  2. 类型中,选择标准快速状态机类型。有关状态机的更多信息,请参阅标准和快速工作流

    重要

    创建状态机后,将无法编辑状态机类型。

  3. 权限中,选择将用作状态机执行角色的 IAM 角色。

    • 创建新角色(推荐):如果选择此选项,Step Functions 会在创建状态机时,自动为状态机创建一个执行角色,且具有所需的最低权限。这些自动生成的 IAM 角色对 AWS 区域 您在其中创建状态机的角色有效。

      提示

      要查看 Step Functions 为状态机自动生成的权限,请选择查看自动生成的权限

      注意

      如果您删除了 Step Functions 创建的 IAM 角色,Step Functions 在以后无法重新创建该角色。同样,如果您修改了该角色(例如,通过在 IAM 策略中从主体中删除 Step Functions),Step Functions 在以后也无法还原其原始设置。

    • 选择现有角色:为状态机创建自己的 IAM 角色,然后从选择现有角色下列出的选项中选择该角色。确保该角色的策略包含您希望状态机承担的权限。

      有关如何创建 IAM 策略 的信息,请参阅 IAM 用户指南中的创建 IAM 策略

    • 输入角色 ARN:指定将用于此状态机的现有 IAM 角色的 Amazon 资源名称 (ARN)。例如,arn:aws:iam::123456789012:role/service-role/StepFunctions-WorkflowStudio-role-777f4027

  4. 日志记录中,设置状态机的日志级别。Step Functions 会根据您的选择记录执行历史事件。您可以选择下列选项之一:

    • 全部:记录所有事件类型。

    • 错误:记录所有错误事件类型,例如 TaskFailed 和 ExecutionFailed。

    • 致命:记录所有致命错误事件类型,例如 ExecutionAborted 和 ExecutionFailed。

    • :不记录任何事件类型。

    有关日志级别的更多信息,请参阅日志级别

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

    • 启用 X-Ray 跟踪:为 Step Functions 选择此复选框,即使上游服务未传递跟踪 ID,也可将状态机执行的跟踪发送到 X-Ray。有关更多信息,请参阅 AWS X-Ray 和 Step Functions

    • 创建时发布版本版本是您可以运行的状态机快照,带编号且不可变。选中此复选框可在创建状态机时发布状态机的版本。Step Functions 将版本 1 作为状态机的第一个修订版发布。

      有关版本的更多信息,请参阅状态机版本

    • 添加新标签:选择此框可为状态机添加标签。添加标签可帮助您跟踪和管理与资源关联的成本,并增强 IAM 策略中的安全性。有关标签的更多信息,请参阅 Step Functions 中的标记

  6. 选择创建

  7. 确认角色创建对话框中,选择确认继续。

    您也可以选择查看角色配置,返回配置 模式。

键盘快捷键

Workflow Studio 支持以下键盘快捷键:

键盘快捷键 功能
Shortcuts for the Code mode
Ctrl+space Auto-complete suggestions
F1 Display a list of available commands
Common shortcuts for the Design and Code modes
Ctrl+Z Undo the last operation
Ctrl+Shift+Z Redo the last operation
Alt+C Center the workflow in the canvas
Backspace Remove all selected states
Delete Remove all selected states
Ctrl+D Duplicate selected state