通过 AWS 工具包使用 AWS Step Functions - AWS Cloud9

AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多

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

通过 AWS 工具包使用 AWS Step Functions

AWS 工具包提供对 AWS Step Functions 的支持。Step Functions 允许您创建状态机,为支持业务关键型应用程序的 AWS Lambda 函数和其他 AWS 服务定义工作流。

您可以通过 Step Functions 使用 AWS 工具包来执行以下操作:

  • 创建并发布状态机,它是由各个步骤组成的工作流。

  • 下载定义状态机工作流的文件。

  • 使用已输入或选择的输入运行状态机工作流程。

先决条件

Step Functions 可以运行代码并访问 AWS 资源(例如调用 Lambda 函数)。为了保持安全性,您必须使用 IAM 角色为 Step Functions 授予对这些资源的访问权限。

使用 AWS 工具包,您可以利用自动生成的 IAM 角色,这些角色对您创建状态机的 AWS 区域有效。要为状态机创建您自己的 IAM 角色,请参阅 AWS Step Functions 开发人员指南中的 AWS Step Functions 如何与 IAM 协同工作

创建和发布状态机

当您使用 AWS 工具包创建一个状态机时,您可以选择一个为业务案例定义工作流的起始模板。然后,您可以编辑或替换该模板以满足您的特定需求。有关在表示状态机结构的文件中定义状态机的详细信息,请参阅 AWS Step Functions 开发人员指南中的 Amazon 状态语言

  1. AWS Explorer 窗格中,打开上下文(右击)菜单以访问 Step Functions,然后选择 Create a new Step Function state machine(新建 Step Function 状态机)。

  2. 在命令面板中,为状态机的工作流程选择入门模板。

  3. 接下来,为定义状态机的 Amazon 状态机 (ASL) 文件选择格式。

    打开一个编辑器以显示定义状态机工作流的 ASL 文件。

    注意

    有关编辑 ASL 文件以自定义工作流程的信息,请参阅 State Machine Structure(状态机结构)。

  4. 在 ASL 文件中,选择发布到 Step Functions,以将状态机添加到 AWS 云。

    注意

    您也可以在 ASL 文件中选择 Render graph(渲染图)来显示状态机工作流的可视化表示。

    JSON code for a Hello World example in Amazon 状态语言, showing state types and choices.
  5. 在命令面板中,选择 AWS 区域以托管您的 Step Function。

  6. 接下来,您可以选择创建新的步骤函数,或选择更新现有的函数。

    Quick Create

    此选项允许您使用 step-functions/latest/dg/concepts-standard-vs-express.html 通过 ASL 文件新建 Step Function。系统要求您指定以下内容:

    • IAM 角色,允许您的 Step Function 运行代码和访问 AWS 资源。(您可以选择一个自动生成的 IAM 角色,该角色对您创建状态机的 AWS 区域有效。)

    • 新函数的名称。

    您可以检查您的状态机是否已成功创建,并在 AWS 工具包输出选项卡中获取其 ARN。

    Quick Update

    如果状态机已经存在于 AWS 区域,您可以选择一个以使用当前 ASL 文件进行更新。

    您可以检查您的状态机是否已成功更新,并在 AWS 工具包输出选项卡中获取其 ARN。

    创建状态机之后,它会显示在 AWS Explorer 窗格中的 Step Functions 下方。如果没有立即出现,请选择 Toolkit(工具包)菜单,Refresh Explorer(刷新 Explorer)。

在 AWS 工具包中运行状态机

您可以使用 AWS 工具包运行远程状态机。运行状态机接收 JSON 文本作为输入,并将该输入传递给工作流中的第一个状态。各个状态将接收输入形式的 JSON 并通常将 JSON 以输出形式传递到下一个状态。有关更多信息,请参阅 Step Functions 中输入和输出的处理

  1. AWS Explorer 窗格中,请选择 Step Functions。然后打开特定状态机的上下文(右键单击)菜单,并选择 Start Execution(开始执行)。

  2. Start Execution(开始执行)窗格中,通过直接在下面的字段中输入文本或从本地设备上传文件,为状态机的工作流添加 JSON 格式的输入。

  3. 选择 Execute(执行)。

    AWS 工具包输出选项卡显示工作流已启动的确认和流程标识的 ARN。您可以使用该进程 ID 来签入 AWS Step Functions 控制台,以检查工作流是否成功运行。您还可以查看工作流程开始和结束的时间戳。

下载状态机定义文件并可视化其工作流

下载状态机意味着您下载一个包含表示该状态机结构的 JSON 文本的文件。然后,您可以编辑此文件以创建新状态机或更新现有状态机。有关更多信息,请参阅 AWS Step Functions 开发人员指南中的 Amazon 状态语言

  1. AWS Explorer 窗格中,请选择 Step Functions。然后打开特定状态机的上下文(右键单击)菜单,并选择 Download Definition(下载定义)。

    注意

    上下文菜单还提供了若干选项,可复制名称复制 ARN

  2. Save(保存)对话框中,选择您在环境中存储已下载状态机文件的文件夹,然后选择 Save(保存)。

    定义状态机工作流程的 JSON 格式文件将显示在编辑器中。

  3. 要显示工作流的可视化表示,请选择 Render graph(渲染图)。

    窗口显示一个流程图,其中显示状态机工作流程中的状态顺序。

    状态机工作流程的可视化表示