

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

# AWS SAM 模板
<a name="sam-specification"></a>

运行**sam init**命令并完成其后续工作流程后， AWS SAM 创建您的应用程序项目目录，即您的 AWS SAM 项目。您可以通过向 AWS SAM 项目中添加代码来定义您的无服务器应用程序。虽然您的 AWS SAM 项目由一组文件和文件夹组成，但您主要使用的文件是您的 AWS SAM 模板（已命名`template.yaml`）。在此模板中，您可以编写代码来表达资源、事件源映射以及定义无服务器应用程序的其他属性。

**注意**  
模板的一个关键元素是 AWS SAM AWS SAM 模板规范。本规范提供了简短的语法，与之相比 CloudFormation，它允许您使用更少的代码行来定义无服务器应用程序的资源、事件源映射 APIs、权限和其他属性。

本节详细介绍了如何使用 AWS SAM 模板中的部分来定义资源类型、资源属性、数据类型、资源属性、内部函数和 API Gateway 扩展。

AWS SAM 模板是 CloudFormation 模板的扩展，其独特的语法类型使用速记语法，代码行数少于。 CloudFormation在构建无服务器应用程序时，这可以加快开发速度。有关更多信息，请参阅[AWS SAM 资源和财产](sam-specification-resources-and-properties.md)。有关 CloudFormation 模板的完整参考，请参阅《*AWS CloudFormation 用户指南》*中的 “[CloudFormation 模板参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html)”。

在开发时，您通常会发现将应用程序代码分解为单独的文件是有益的，这样可以更好地组织和管理您的应用程序。这方面的一个基本例子是为 AWS Lambda 函数代码使用单独的文件，而不是在 AWS SAM 模板中包含此代码。为此，请将 Lambda 函数代码整理到项目的子目录中，然后在 () 模板中引用其本地路径。 AWS Serverless Application Model AWS SAM

**Topics**
+ [AWS SAM 模板解剖学](sam-specification-template-anatomy.md)
+ [AWS SAM 资源和财产](sam-specification-resources-and-properties.md)
+ [生成的 CloudFormation 资源用于 AWS SAM](sam-specification-generated-resources.md)
+ [支持的资源属性 AWS SAM](sam-specification-resource-attributes.md)
+ [适用于 API Gateway 的扩展 AWS SAM](sam-specification-api-gateway-extensions.md)
+ [的内在函数 AWS SAM](sam-specification-intrinsic-functions.md)