使用 AWS Step Functions - AWSVS 代码工具包

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

使用 AWS Step Functions

您可以使用AWS Toolkit for Visual Studio Code (VS Code) 对状态机执行各种操作。

先决条件

  • 确保您的系统满足安装适用于 VS Code 的工具包中指定的先决条件,然后安装该工具包。

  • 请确保您已配置证书,然后才能打开 AWSExplorer

在 VS Code 中使用状态机

您可以使用 VS Code 与远程状态机交互,并以 JSON 或 YAML 格式在本地开发状态机。您可以创建或更新状态机、列出现有状态机、运行它们并下载它们。VS Code 还允许您从模板创建新的状态机,查看状态机的可视化效果,并提供代码片段、代码完成和代码验证。

列出机

如果您已创建状态机,则可以查看状态机的列表:

  1. 打开 AWS Explorer

  2. 选择Step Functions

  3. 验证它列出了您账户中的所有状态机。

下载机

要下载状态机,请执行以下操作:

  1. AWS资源管理器中,右键单击要下载的状态机。

  2. 选择 Download (下载),然后选择要下载状态机的位置。

  3. 验证它是否正确下载。

创建状态机

您可以自行创建新的状态机,也可以使用模板。有关从模板创建状态机的更多信息,请参阅 State Machine Templates (状态机模板) 部分。要创建新状态机,请执行以下操作:

  1. 使用您的状态机定义创建新的 Amazon 状态语言 (ASL) 文件。使用右下角的菜单将其设置为 Amazon 状态语言。

  2. 选择 Publish to Step Functions (发布到步进函数)

  3. 选择 Quick Create (快速创建),选择一个角色,然后命名您的状态机。

更新状态机

要更新状态机,请执行以下操作:

  1. 使用状态机定义编辑 ASL 文件。

  2. 选择 Publish to Step Functions (发布到步进函数)

  3. 选择 Quick Update (快速更新),然后选择要更新的状态计算机。

运行机

要运行机机,请执行机:

  1. AWS资源管理器中,右键单击要运行的状态机。

  2. 为状态机(St机)提供输机。您可以尝试从文件输入和在文本框中输入。

  3. 启动状态机并验证其是否成功运行。

机机模板

创建状态机时,您可以选择从模板创建状态机。模板包含具有多种常用状态的示例状态机定义,并为您提供一个起点。要使用状态机模板,请执行以下操作:

  1. 在 VS Code 中打开命令面板

  2. 选择 “AWS工具包” 创建新的 Step Functions 状态机

  3. 选择要使用的模板。

  4. 选择要使用 JSON 还是 YAML 模板格式。

状态机机 Gistry 可

图形可视化可让您以图形格式查看状态机的外观。创建图形可视化时,将打开另一个选项卡并显示状态机 JSON 或 YAML 的可视化效果。然后,您可以将正在编写的状态机定义与其可视化效果进行比较。当您更改状态机定义时,将更新可视化效果。

注意

要创建状态机定义的可视化,必须在活动的编辑器中打开定义。如果关闭或重命名定义文件,可视化效果将关闭。

创建状态机图形可视化:

  1. 定义状态机。

  2. 在 VS Code 中打开命令面板

  3. 要创建可视化,请使用右上角的可视化按钮,或选择 “AWS渲染图形”。

代码段

代码段允许您插入较短的代码部分。使用代码段:

  1. 打开文件并以 JSON 格式或 YAML 格式.asl.json.asl.yaml的扩展名将其保存。

  2. 使用 State (状态) 属性创建新的状态机。

  3. 将光标置于 State (状态) 内。

  4. 使用组合键 Control + Space,然后选择您首选的代码段。

  5. 使用 Tab 遍历代码段中的变量和参数。

  6. 通过将光标置于相关状态内来测试 Retry (重试)Catch (捕获) 片段。

代码完成和验证

查看代码完成的工作原理:

  1. 创建多个状态。

  2. 将光标置于 “下一步StartAt、或 “默认” 属性之后。

  3. 使用组合键 Control + Space 列出可用的完成项。可以再次使用 Control + Space 访问其他属性,这些属性将基于 StateType

  4. 当您工作时,在以下情况下会进行代码验证:

    • 缺少属性

    • 值不正确

    • 无最终状态

    • 指向不存在的状态