与 AWS Step Functions - AWS 适用于 VS Code 的工具包

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

与 AWS Step Functions

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

先决条件

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

  • 在打开 AWS Explorer 之前,请确保您已配置凭证。

在 VS Code 中使用状态机

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

列出现有状态机

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

  1. 打开 AWS Explorer

  2. 选择“Step Functions”

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

    AWS Explorer menu showing regions and services, with LambdaStateMachine highlighted under Step Functions.

下载状态机

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

  1. AWS Explorer 中,右键单击要下载的状态机。

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

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

    AWS Explorer menu showing LambdaStateMachine with Download Definition option highlighted.

创建状态机

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

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

  2. 选择发布到步进函数

    JSON code snippet showing state machine configuration with FirstState and ChoiceState.
  3. 选择 Quick Create (快速创建),选择一个角色,然后命名您的状态机。

    Quick Create option highlighted for creating a state machine with default settings.
    Dropdown menu showing execution role options, with ECSRole highlighted for selection.
    Dialog box prompting user to name their state machine, with input field and instructions.

更新状态机

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

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

  2. 选择发布到步进函数

    JSON code snippet showing state machine configuration with FirstState and ChoiceState.
  3. 选择 Quick Update (快速更新),然后选择要更新的状态计算机。

    Quick Update option highlighted in the Publish to AWS Step Functions menu.
    Dropdown menu showing state machine options for updating in us-east-1 region.

运行状态机

要运行状态机,请按以下步骤操作:

  1. AWS Explorer 中,右键单击要运行的状态机。

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

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

    AWS Explorer menu showing LambdaStateMachine with Start Execution option highlighted.
    Start Execution interface for LambdaStateMachine with JSON input option and example.

状态机模板

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

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

  2. 选择 AWS Toolkit 创建新的阶跃函数状态机

  3. 选择要使用的模板。

    List of starter templates including Hello world, Retry failure, Wait state, and others.
  4. 选择要使用 JSON 还是 YAML 模板格式。

    Dropdown menu showing JSON and YAML options for selecting a template format.

状态机图表可视化

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

注意

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

创建状态机图形可视化:

  1. 定义状态机。

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

  3. 要创建可视化,请使用右上角的可视化按钮,或选择 AWS 呈现图表

    JSON code and graph visualization of Amazon 状态语言 with choice state example.

代码段

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

  1. 打开文件并使用扩展 .asl.json 以 JSON 格式保存它,或使用 .asl.yaml 以格式 YAML 格式保存它。

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

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

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

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

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

    Code snippet for Lambda Task State with dropdown menu showing various state types.

代码完成和验证

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

  1. 创建多个状态。

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

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

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

    • 缺少属性

    • 值不正确

    • 无最终状态

    • 指向不存在的状态

    JSON code snippet showing state machine structure with task, choice, and default states.
    Code snippet showing AWS Lambda function properties with a tooltip describing the Catch property.