

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

# 使用创建 AWS CloudFormation 模板 AWS Toolkit for Visual Studio Code
<a name="cloudformation-template"></a>

 AWS Toolkit for Visual Studio Code 可以帮助您编写 AWS CloudFormation 和 SAM 模板。

## 先决条件
<a name="cloudformation-template-prereq"></a>

### Toolkit for VS Code 和凭证先决条件
<a name="w2aac17c25b9b7b3"></a>
+ 在从 VS Code Toolkit 访问该 CloudFormation 服务之前，您需要满足《[安装适用于 VS Code 的工具包》](setup-toolkit.md#setup-prereq)用户指南中列出的要求。
+ 您在中创建的凭据[身份验证和访问](establish-credentials.md)必须包括对 AWS CloudFormation 服务的适当 read/write 访问权限。
**注意**  
如果**CloudFormation**服务显示**加载 CloudFormation 资源时出错**消息，请检查您附加到这些证书的权限。另请注意，对权限所做的更改可能需要几分钟才会在 **AWS Explorer** 中更新。

### CloudFormation 模板先决条件
<a name="w2aac17c25b9b7b5"></a>
+ 安装并启用 [Redhat Developer YAML VS Code](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) 扩展。
+ 使用 Redhat Developer YAML VS Code 扩展时，您需要连接到互联网，因为它用于在您的计算机上下载和缓存 JSON 架构。

## 使用 YAML Schema Support 编写 CloudFormation 模板
<a name="tamplate-schema"></a>

该工具包使用 YAML 语言支持和 JSON 架构来简化编写过程 CloudFormation 和 SAM 模板。语法验证和自动补全等功能不仅可以加快流程，还可以帮助提升模板的质量。为模板选择架构时，以下是推荐的最佳实践。

**CloudFormation 模板**
+ 文件具有 .yaml 或 .yml 扩展名。
+ 该文件具有顶级 `AWSTemplateFormatVersion` 或 **Resources** 节点。

**SAM 模板**
+ 已经描述的所有标准 CloudFormation
+ 该文件具有顶级 **Transform** 节点，其中包含以 `AWS::Serverless` 开头的值。

该架构将在文件修改后应用。例如，在向模板添加无服务器转换并保存文件后，将应用 SAM CloudFormation 模板架构。

### 语法验证
<a name="w2aac17c25b9c11c11"></a>

YAML 扩展将自动对您的模板应用类型验证。这会突出显示给定属性的类型无效的条目。如果将鼠标悬停在突出显示的条目上，则扩展会显示纠正措施。

### 自动补全
<a name="w2aac17c25b9c11c13"></a>

添加新字段、枚举值或其他[资源类型](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-resource-fields)时，您可以通过按 **Ctrl \+ 空格键**来启动 YAML 扩展的自动补全功能。