

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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)