

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

# 与 AWS Step Functions
<a name="building-stepfunctions"></a>

以下各节介绍如何使用 AWS 工具包中包含状态机定义的 AWS Step Functions `Amazon State Language (ASL)`文件。有关 AWS Step Functions 状态机的详细信息，请参阅《*AWS Step Functions*开发者指南》中的 “[在 Step Functions 中了解状态机](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-statemachines.html)” 主题。

## 查看 Step Functions 状态机
<a name="starting-sfn-list"></a>

要在 AWS Toolkit Explorer 中查看包含状态机定义的现有`ASL`文件，请完成以下步骤。

1. 在 AWS Toolkit Explorer 中，展开包含要查看的`ASL`文件的区域。

1. 展开 **Step Functions** 标题。

1. 您的`ASL`文件将显示在 AWS 资源管理器中。

## 创建 Step Functions 状态机
<a name="starting-sfn-create"></a>

在 AWS 工具包中，您可以根据文件创建新的 Step Functions 状态机，也可以使用模板。以下步骤介绍了如何使用文件创建 Step Functions 状态机。有关使用模板创建 SFN 状态机的详细信息，请参阅本用户指南主题中下方的*状态机模板*部分。

**注意**  
要在 VS Code 中使用 Step Functions，包含状态机定义的 `Amazon State Language`（ASL）文件的扩展名必须以 `asl.json`、`asl.yml` 或 `.asl.yaml` 结尾。  
默认情况下，相关的 Step Functions 文件会在 Workflow Studio 中打开。有关通过 AWS 工具包在 Workflow Studio 中[工作的详细信息，请参阅本用户指南中的使用 Workflow Studio](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/stepfunctions-workflowstudio.html) 主题。

1. 在 VS Code 的工作区中，创建新文件。

1. 为文件命名并将文件扩展名指定为 `asl.json`、`asl.yml` 或 `.asl.yaml`。

1.  AWS 工具包创建后，将在 Workflo AWS Step Functions w Studio 中打开新文件。

1. 在 **Workflow Studio** 的实用工具菜单中，选择**保存**按钮，保存您的新 `ASL` 文件。

## 使用模板创建 Step Functions 状态机
<a name="templates-stepfunctions"></a>

在 AWS 工具包中，您可以根据模板创建 Step Functions 状态机。模板过程会创建一个包含状态机定义的 `ASL` 文件，从而为您的项目提供一个起点。以下过程介绍如何根据 AWS 工具包中的模板创建 Step Functions 状态机。

1. 在 AWS Toolkit Explorer 中，展开要在其中创建 Step Functions 状态机的区域。

1. 打开（右键单击）**Step Functions** 的上下文菜单，然后选择**创建新的 Step Functions 状态机**以在 VS Code 中打开**选择初学者模板（1/2）**向导。

1. 从**选择初学者模板（1/2）**向导中，选择 Step Functions 状态机的模板类型以继续。

1. 在**选择模板格式（2/2）**屏幕中，为您的模板格式选择 **YAML** 或 **JSON**。

1. 系统将在 VS Code 编辑器中打开一个包含状态机定义的新 `ASL` 文件。

## 下载 Step Functions 状态机
<a name="sfn-download"></a>

要将远程存储的 Step Functions 状态机下载到本地的 VS Code 实例，请完成以下步骤。

1. 在 AWS Toolkit Explorer 中，展开包含要下载的 Step Functions 状态机的区域。

1. 展开 **Step Functions**，然后右键单击要下载的 Step Functions 状态机并选择**下载定义...**。

1. 指定存储 Step Functions 状态机的本地位置以继续。

1. 步骤完成后，Step Functions 状态机将在 Workflow Studio 中打开。

## 将更改保存到 Step Functions 状态机
<a name="starting-sfn-update"></a>

以下步骤介绍了如何保存对 Step Functions 状态机的更改。

**注意**  
在 Workflow Studio 中进行的编辑会同步到您的本地文件，但工作保存到 VS Code 编辑器或 Workflow Studio 中之前，编辑内容将保持未保存状态。如果在打开 Workflow Studio 时修改并保存了本地文件，并且在 `ASL` 文件中未检测到任何错误，则保存完成后，您将在 Workflow Studio 中收到**成功**通知。但是，如果您的本地文件包含无效 `JSON` 或 `YAML` 并且您尝试了保存，则您的本地文件将无法同步，并且您会在 Workflow Studio 中收到**警告**通知。

1. 从 Workflow Studio 中打开的包含状态机定义 `ASL` 的文件，导航到**实用工具按钮**。

1. 选择**保存**按钮。

1. 文件保存后，VS Code 会通知您。

## 运行 Step Functions 状态机
<a name="starting-sfn-execute"></a>

以下过程描述了如何在 AWS 工具包中运行 Step Functions 状态机。

1. 在 AWS Toolkit Explorer 中，展开包含要运行的 Step Functions 状态机的区域。

1. 展开 **Step Functions**，然后右键单击要运行的 Step Functions 状态机。

1. 从上下文菜单中，选择**启动执行**以启动该启动流程。

1. 启动状态显示在 VS Code 的 **AWS Toolkit 输出**窗口中。

## 使用代码段
<a name="building-stepfunctions-code-snippets"></a>

代码段是根据您正在处理的代码生成的自动建议。要在 Toolkit 中将代码段与 Step Functions 结合使用，请完成以下步骤。

**注意**  
要在 VS Code 中使用 Step Functions 代码段，包含状态机定义的 `ASL` 文件的扩展名必须以 `.asl.json`、`.asl.yml` 或 `.asl.yaml` 结尾。  
默认情况下，您的相关 Step Functions 文件会在 Workflow Studio 中打开。

1. 在 VS Code 中，打开包含要修改的状态机定义的 `ASL` 文件或创建一个新 `ASL` 文件。

1. 在 Workflow Studio 中，如果您处于**设计**模式，请切换为**代码**模式。

1. 在 Workflow Studio 代码编辑器中，将光标放在 `"States"` 属性中。

1. 按下 **control \$1 space**，打开代码段菜单，按下 **control \$1 space** 即可访问其他属性，这些属性基于 `"State"` `"Type"`。

1. 从列表中选择所需的代码段。

## 代码验证
<a name="building-stepfunctions-code-completion"></a>

当您在 Workflow Studio 中处理 Step Functions 时，代码验证会主动识别错误并针对以下错误提出建议：
+ 缺少属性
+ 值不正确
+ 非终端状态
+ 指向不存在的状态