开始使用 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. 选择下一步。这将打开工作流工作室。

    
            Workflow Studio
    Workflow Studio
  6. 选择面板,然后拖动Pass状态到标记为空状态将第一个州拖到这里.

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

  8. 在此工作流程的代码中,两个Pass已定义状态。第一Pass州被命名为 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. 选择下一步。您可以看到亚马逊州语言工作流程定义。

  10. 选择下一步。给你的工作流程命名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. 可选-在存储库的新执行页面上,在执行 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 角色:Step 函数-Helloworld-角色-示例.

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

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

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

后续步骤

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