教程:了解如何使用Amazon Step FunctionsWorkflow Studio - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

教程:了解如何使用Amazon Step FunctionsWorkflow Studio

了解使用 Workflow Studio 的基础知识。从 Step Functions 控制台,您将导航到 Workflow Studio 获取 Step Functions,在其中创建一个具有两种 Pass 状态的状态机。使用拖放体验视觉来搜索、选择和配置 Pass 状态。然后,您将查看亚马逊州语言 JSON 代码,退出 Workflow Studio 并运行状态机。

在 Step Functions 控制台中,您将开始新的执行并查看执行详细信息。您将更改其中一个通行证状态的结果并查看更改。最后,您执行清理步骤,然后删除状态机。完成本教程后,您将知道如何使用 Workflow Studio 创建和配置工作流程,以及如何更新、执行和删除状态机。

请确保完成本教程的先决条件.

创建状态机

在 Workflow Studio 中,状态机是您的工作流程的图形化表示。您可以使用 Workflow Studio 定义、配置和检查工作流的各个步骤。

创建 状态机

  1. 登录到Step Functions 控制台.

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

  3. 在存储库的选择创作方法页面上,选择直观设计工作流程.

  4. Type (类型) 下,选择 Standard (标准)

    Step Functions 有两种工作流程类型:标准Express. 这些工作流程决定 Step Functions 如何执行任务,并与Amazon服务,并管理定价。状态机创建后,便无法再更改其工作流程类型。

    要对两个工作流程进行并排比较,请参阅类型,选择帮我决定.

  5. 选择下一步。这将打开工作流工作室。

    
            Workflow Studio 组件
    Workflow Studio
  6. 选择面板,然后拖动Pass状态到标记为空状态在此拖动第一个状态.

  7. Choice在下面的状态Pass状态。将其名称更改为Hello World example.

  8. 拖动一秒Pass州到的一个分支Choice州,和Fail州到另一个分支机构Choice状态。

  9. 配置Choice使用布尔变量的规则$.IsHelloWorldExample. 如果$.IsHelloWorldExampleFalse,工作流程将进入 Fail 状态。否则,工作流程将继续其在另一个分支中的执行流程。

  10. 配置默认值Choice状态Yes,以及原因Not Hello World(对于 )No Fail状态。

  11. 添加Wait之后的状态Yes通过状态,然后命名它Wait 3 sec. 将等待时间配置为 3 秒。

  12. 在之后Wait 3 sec州,添加Parallel州被称为Parallel. 再添加两个Pass州在其两个分支机构。命名为PassstateHello和第二个PassstateWorld.

  13. 最后,再拖动另一个Pass状态并命名它Hello World. 这指向工作流程的结束。完成的工作流程如下所示:

    
            Step Functions 工作流 Studio 已完成工作
  14. 定义,请查看状态机的工作流程。

  15. 在代码面板中,Studio 使用Amazon States Language然后从描述工作流程的评论开始。在此工作流程的代码中,两个Pass已定义状态。第一Pass州被命名为 Hello,另一个Pass州被命名为世界。

    { "Comment": "A Hello World example of the Amazon States Language using Pass states", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "IsHelloWorldExample", "Comment": "A Pass state passes its input to its output, without performing work. Pass states are useful when constructing and debugging state machines." }, "IsHelloWorldExample": { "Type": "Choice", "Comment": "A Choice state adds branching logic to a state machine. Choice rules can implement 16 different comparison operators, and can be combined using And, Or, and Not\"", "Choices": [ { "Variable": "$.IsHelloWorldExample", "BooleanEquals": false, "Next": "No" }, { "Variable": "$.IsHelloWorldExample", "BooleanEquals": true, "Next": "Yes" } ], "Default": "Yes" }, "No": { "Type": "Fail", "Cause": "Not Hello World" }, "Yes": { "Type": "Pass", "Next": "Wait 3 sec" }, "Wait 3 sec": { "Type": "Wait", "Seconds": 3, "Next": "Parallel" }, "Parallel": { "Type": "Parallel", "End": true, "Branches": [ { "StartAt": "Hello", "States": { "Hello": { "Type": "Pass", "End": true } } }, { "StartAt": "World", "States": { "World": { "Type": "Pass", "End": true } } } ] } } }
  16. 选择下一步

  17. (可选)查看状态机的亚马逊州语言定义。如果需要,您可以进行其他更改。

  18. 选择 Save (保存)。你可以看到工作流程定义。

  19. 选择下一步。给你的工作流程命名HelloWorld.

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

    创建状态机时,您可以选择 IAM 角色,该角色定义状态机在执行期间有权访问哪些资源。从以下选项中进行选择:

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

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

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

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

启动新的执行

状态机执行是指运行工作流程以执行任务的实例。

要启动新的执行:

  1. 在存储库的Helloworld页面上,选择启动执行.

  2. 可选-在存储库的新的执行页面,在执行 ID字段中,您可以输入您选择的名称。

    确保执行名称不包含任何非 ASCII 字符。如果您没有指定自己的执行 ID,Step Functions 会为您生成唯一的执行 ID。

  3. 可选-输入面板中,您可以以 JSON 格式输入执行的输入值。IsHelloWorldExample确定将执行哪个状态机流。目前,使用以下值:

    { "IsHelloWorldExample": true }
  4. New execution (新执行) 页面上选择 Start Execution (开始执行)

    选择之后启动执行,Step Functions 控制台将您定向到标题为执行 ID 的页面。在此页面上,您可以查看新执行结果。在执行细节,你可以看到你的执行 ARN 和一个状态来指示你的执行是否成功。您还可以查看执行开始和结束的时间戳。

  5. 要查看执行结果,请选择 Output

    输出为:。

    { "IsHelloWorldExample": true } { "IsHelloWorldExample": true }

更新状态机

更改Pass状态机的结果,并更新状态机以备将来的例外情况。然后在可视化工作流程面板中查看您的更改。例外是扰乱工作流程中某一步骤的事件。

当你更新状态机时,你的更新是最终一致性. 几秒钟或几分钟后,所有新启动的执行都将反映状态机的更新定义和roleARN. 根据先前的定义,所有当前正在运行的执行将运行到完成,roleARN在更新之前。

更改Pass州的结果

  1. 在标题为执行 ID 的页面上,选择编辑状态机.

  2. 在存储库的编辑 Helloworld页面,在代码面板中,更新第二个ResultWorld has been updated!

    { "Comment": "A Hello World example of the Amazon States Language using Pass states", "StartAt": "Hello", "States": { "Hello": { "Type": "Pass", "Result": "Hello", "Next": "World" }, "World": { "Type": "Pass", "Result": "World has been updated!", "End": true } } }
  3. 选择 Save (保存),然后选择 Start execution (开始执行)

    选择之后Save(保存),将出现以下消息:

    “状态机的更改可能会影响它需要访问哪些资源。为确保状态机具有正确的权限,您可能需要编辑当前 IAM 角色、创建新角色或选择其他角色。”

    此消息是标准消息。选择反正保存在.

  4. 在存储库的新的执行页面上,选择启动执行

  5. 在下一页的可视化工作流面板中,检查定义工作流的各个步骤。

  6. 可选-要将工作流程图导出到 SVG 或 PNG 文件,请选择Export.

  7. 要查看执行结果,请在可视化工作流程面板中选择World,然后,下步骤详情,选择输出.

    输出为World has been updated!

清除

删除状态机

  1. 在导航菜单中,选择状态机.

  2. 在存储库的状态机页面,下状态机,选择Helloworld,然后选择Delete.

    选择之后Delete,将出现以下消息:

    “你即将删除状态机。你想继续吗?”

    此消息是标准消息。选择删除状态机.

    一条绿色状态栏将显示在屏幕顶部。绿色状态栏告诉您状态机已标记为删除。当所有执行停止运行时,您的状态机将被移除。

删除执行角色

  1. 打开角色页面对于 IAM。

  2. 选择 Step Functions 为您创建的 IAM 角色:Step 函数-Helloworld-角色-示例.

  3. 选择 Delete role(删除角色)。

  4. 选择 Yes, delete(是,删除)。

    现在你完成了本教程,你知道如何创建、测试、调试和删除状态机了。

完成本教程后,您现在知道了如何使用 Workflow Studio 创建、编辑和删除工作流程。