

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# AWS SAM template anatomi
<a name="sam-specification-template-anatomy"></a>

File AWS SAM templat mengikuti format file CloudFormation templat, yang dijelaskan dalam [Anatomi templat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) di *Panduan AWS CloudFormation Pengguna*. Perbedaan utama antara file AWS SAM template dan file CloudFormation template adalah sebagai berikut:
+ **Transformasi deklarasi.** Deklarasi `Transform: AWS::Serverless-2016-10-31` diperlukan untuk file templat AWS SAM . Deklarasi ini mengidentifikasi file CloudFormation template sebagai file AWS SAM template. Untuk informasi selengkapnya tentang transformasi, lihat [Transformasi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) di *Panduan Pengguna AWS CloudFormation *.
+ **Bagian global.** `Globals`Bagian ini unik untuk AWS SAM. Ini mendefinisikan properti yang umum untuk semua fungsi tanpa server Anda dan. APIs Semua`AWS::Serverless::Function`,,`AWS::Serverless::Api`,`AWS::Serverless::CapacityProvider`, `AWS::Serverless::HttpApi``AWS::Serverless::SimpleTable`, dan `AWS::Serverless::StateMachine` sumber daya mewarisi properti yang didefinisikan di `Globals` bagian tersebut. Untuk informasi lebih lanjut tentang bagian ini, lihat [Bagian global dari template AWS SAM](sam-specification-template-anatomy-globals.md).
+ **Bagian sumber daya.** Dalam AWS SAM template `Resources` bagian ini dapat berisi kombinasi CloudFormation sumber daya dan sumber AWS SAM daya. Untuk informasi selengkapnya tentang CloudFormation sumber daya, lihat [referensi jenis AWS sumber daya dan properti](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) di *Panduan AWS CloudFormation Pengguna*. Untuk informasi selengkapnya tentang AWS SAM sumber daya, lihat[AWS SAM sumber daya dan properti](sam-specification-resources-and-properties.md).

Semua bagian lain dari file AWS SAM template sesuai dengan bagian file CloudFormation template dengan nama yang sama.

## YAML
<a name="template-anatomy-outline.yaml"></a>

Contoh berikut menunjukkan fragmen templat dalam format YMAL.

```
Transform: AWS::Serverless-2016-10-31

Globals:
  set of globals

Description:
  String

Metadata:
  template metadata

Parameters:
  set of parameters

Mappings:
  set of mappings

Conditions:
  set of conditions

Resources:
  set of resources

Outputs:
  set of outputs
```

## Bagian templat
<a name="template-anatomy-sections"></a>

AWS SAM template dapat mencakup beberapa bagian utama. Hanya bagian `Transform` dan `Resources` yang wajib diisi.

Anda dapat menyertakan bagian templat dengan urutan apa pun. Namun, jika menggunakan ekstensi bahasa, Anda harus menambahkan `AWS::LanguageExtensions` *sebelum* transformasi tanpa server (yaitu, sebelumnya`AWS::Serverless-2016-10-31`) seperti yang ditunjukkan pada contoh berikut:

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

Saat Anda membangun template Anda, akan sangat membantu untuk menggunakan urutan logis yang ditampilkan dalam daftar berikut. Hal ini karena nilai-nilai dalam satu bagian mungkin merujuk ke nilai-nilai dari bagian sebelumnya.

**[Transformasi (wajib)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)**  
Untuk AWS SAM template, Anda harus menyertakan bagian ini dengan nilai`AWS::Serverless-2016-10-31`.  
Transformasi tambahan termasuk hal opsional. Untuk informasi selengkapnya tentang transformasi, lihat [Transformasi](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) di *Panduan Pengguna AWS CloudFormation *.

**[Globals (opsional)](sam-specification-template-anatomy-globals.md)**  
Properti yang umum untuk semua fungsi tanpa server Anda, APIs, dan tabel sederhana. Semua`AWS::Serverless::Function`,,`AWS::Serverless::Api`,`AWS::Serverless::CapacityProvider`, `AWS::Serverless::HttpApi``AWS::Serverless::SimpleTable`, dan `AWS::Serverless::StateMachine` sumber daya mewarisi properti yang didefinisikan di `Globals` bagian tersebut.  
Bagian ini unik untuk AWS SAM. Tidak ada bagian yang sesuai di templat CloudFormation .

**[Deskripsi (opsional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html)**  
Sebuah string teks yang menggambarkan templat.  
Bagian ini sesuai langsung dengan `Description` bagian CloudFormation templat.

**[Metadata (opsional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)**  
Objek yang memberikan informasi tambahan tentang templat.  
Bagian ini sesuai langsung dengan `Metadata` bagian CloudFormation templat.

**[Parameter (opsional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)**  
Nilai-nilai untuk diteruskan ke templat Anda pada saat waktu aktif (ketika Anda membuat atau memperbarui tumpukan). Anda dapat merujuk ke parameter dari bagian `Resources` dan `Outputs` dari templat. Objek yang dinyatakan dalam bagian `Parameters` menyebabkan perintah **sam deploy --guided** untuk memberikan petunjuk tambahan kepada pengguna.  
Nilai yang diteruskan menggunakan `--parameter-overrides` parameter `sam deploy` perintah—dan entri dalam file konfigurasi—lebih diutamakan daripada entri dalam file template. AWS SAM Untuk informasi selengkapnya tentang `sam deploy` perintah, lihat [sam deploy](sam-cli-command-reference-sam-deploy.md) di referensi AWS SAMCLI perintah. Untuk informasi selengkapnya tentang file konfigurasi, lihat [AWS SAMCLIberkas konfigurasi](serverless-sam-cli-config.md).

**[Pemetaan (opsional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html)**  
Pemetaan dari kunci dan nilai-nilai terkait yang dapat Anda gunakan untuk menentukan nilai parameter bersyarat, mirip dengan tabel pencarian. Anda dapat mencocokkan kunci ke nilai yang sesuai dengan menggunakan fungsi intrinsik [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) dalam bagian `Resources` dan `Outputs`.  
Bagian ini sesuai langsung dengan `Mappings` bagian CloudFormation templat.

**[Kondisi (opsional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html)**  
Kondisi yang mengendalikan apakah sumber daya tertentu dibuat atau apakah properti sumber daya tertentu ditetapkan nilai selama pembuatan atau pembaruan tumpukan. Sebagai contoh, Anda dapat secara bersyarat membuat sumber daya yang bergantung pada apakah tumpukan untuk lingkungan produksi atau pengujian.  
Bagian ini sesuai langsung dengan `Conditions` bagian CloudFormation templat.

**[Sumber daya (wajib)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html)**  
Sumber daya tumpukan dan propertinya, seperti instans Amazon Elastic Compute Cloud (Amazon EC2) atau bucket Amazon Simple Storage Service (Amazon S3). Anda dapat merujuk ke sumber daya dalam bagian `Resources` dan `Outputs` dari templat.  
Bagian ini mirip dengan bagian `Resources` dari templat CloudFormation . Dalam AWS SAM template, bagian ini dapat berisi AWS SAM sumber daya selain CloudFormation sumber daya.

**[Output (opsional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)**  
Nilai-nilai yang dikembalikan setiap kali Anda melihat properti tumpukan Anda. Misalnya, Anda dapat mendeklarasikan output untuk nama bucket S3, lalu memanggil perintah `aws cloudformation describe-stacks` AWS Command Line Interface (AWS CLI) untuk melihat nama.  
Bagian ini berhubungan langsung dengan bagian `Outputs` dari templat CloudFormation .

## Langkah selanjutnya
<a name="template-anatomy-next-steps"></a>

Untuk mengunduh dan menyebarkan contoh aplikasi tanpa server yang berisi file AWS SAM templat, lihat [Memulai dengan AWS SAM](serverless-getting-started.md) dan ikuti instruksi di. [Tutorial: Menyebarkan aplikasi Hello World dengan AWS SAM](serverless-getting-started-hello-world.md)