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

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

使用工作流 Studio

学习使用 Step Functions Workflow Studio 创建、编辑和运行工作流程。工作流程准备好后,您可以将其导出。您还可以使用 Workflow Studio 进行快速原型设计。

创建工作流

要使用 Workflow Studio 创建工作流程:

  1. 登录到Step Functions 控制台.

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

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

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

    注意

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

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

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

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

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

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

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

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

设计工作流

如果你知道要添加的州的名称,请使用顶部的搜索功能在操作和流程中找到它。


          Step Functions 工作流 Studio 搜索

否则,请从州浏览器中选择一个州,然后将其拖放到画布中,将其放在工作流程中所需的位置。您还可以通过将状态拖动到工作流中的其他位置来重新排序工作流程中的状态。将状态拖动到画布上时,无论您可以在工作流程中放置状态的地方,都会显示一条线。一旦状态被放到画布上,它的代码将自动生成并添加到工作流程定义中。


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

将状态放入画布后,可以使用外形式面板。例如,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 将使用运行作业 (.sync)集成模式。

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

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


          配置选项

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

要删除状态,您可以使用退格键,右键单击并选择删除状态或者使用外形式然后选择删除状态.


          删除状态

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

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

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


          画布控件

运行工作流程

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

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

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

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

  4. 你可以在Graph Inspector. 选择每个步骤以查看有关其执行的详细信息。

编辑工作流

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

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

  2. 选择 Edit (编辑)

    
              编辑工作流
  3. 状态机有两个窗格:代码窗格和可视化工作流窗格。选择工作流 Studio在可视化工作流程窗格中使用 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. 类型,选择Standard要么Express,然后选择下一步.

  4. 使用 Workflow Studio 设计工作流程。要包括占位符资源:

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

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

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

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

    2. 选择下一步

      注意

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

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

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

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

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

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