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

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

开始使用 Amazon Step Functions

在本教程中,您将学习使用 Step Functions 的基础知识。登录到 Step Functions 控制台,您可以在该控制台中创建一个使用两个Pass状态。然后开始新的执行并查看执行详细信息。然后,您可以更改其中一个Pass状态的结果并查看更改。最后,执行一个清理步骤,您可以在其中删除状态机。在本教程的最后,您将了解如何创建、测试、调试和删除状态机。

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

第 1 步:创建状态机

状态机是工作流的图形表示,您可以使用它来检查定义它的各个步骤。

有关状态机结构和常见状态机的更多信息,请参阅以下内容:

创建 状态机

  1. 登录到Step Functions 控制台

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

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

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

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

    对于并排比较两种工作流程,请在类型中,选择帮我决定

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

    
            工作流程 Studio
    Workflow Studio
  6. 选择面板,然后拖动Pass状态设置为空状态,标记为将第一个状态拖到此处

  7. UDER定义中,查看状态机的工作流。

  8. 在此工作流程的代码中,两个Pass状态被定义。OnePass状态被命名为 Hello,另一个Pass状态被命名为 “世界”。

    { "Comment": "A Hello World example of the Amazon States Language using Pass states", "StartAt": "Hello", "States": { "Hello": { "Type": "Pass", "Next": "World" }, "World": { "Type": "Pass", "Result": "World", "End": true } } }
  9. 选择 Next (下一步)。您可以查看亚马逊州语言工作流程定义。

  10. 选择 Next (下一步)。为您的工作流程指定名称HelloWorld

  11. UDERPermissions (权限)中,选择创建新的 IAM 角色

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

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

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

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

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

第 2 步:启动新的执行

状态计算机执行是运行工作流来执行任务的实例。

启动新的执行

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

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

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

  3. New execution (新执行) 页面上选择 Start Execution (开始执行)

    在您选择启动执行时,Step Functions 控制台会将您引导到带有您的执行 ID 标题的页面。在此页面上,您可以查看新执行结果。UDER执行详细信息,您可以看到您的执行 ARN 和一个状态来指示您的执行是否成功。您还可以查看执行开始和结束时间的时间戳。

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

    输出为 World

第 3 步:更新状态机

将更改为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!

第 4 步:清除

在某些情况下,您可能需要删除状态机和执行角色。

如果您使用完此教程,请删除状态机和 Step Functions 为您创建的执行角色。

删除状态机

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

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

    在您选择Delete,将出现以下消息:

    “您即将删除状态机。是否要继续?”

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

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

删除执行角色

  1. 打开角色页面适用于 IAM。

  2. 选择 Step Functions 为您创建的 IAM 角色:步进功能-你好世界角色示例

  3. 选择删除角色

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

    现在,您已完成本教程,即可了解如何创建、测试、调试和删除状态机。

后续步骤

有关使用 Step Functions 的更多教程,请尝试以下操作: