AWS SAM template anatomi - AWS Serverless Application Model

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

AWS SAM template anatomi

File AWS SAM templat mengikuti format file AWS CloudFormation templat, yang dijelaskan dalam Anatomi templat di Panduan AWS CloudFormation Pengguna. Perbedaan utama antara file AWS SAM template dan file AWS CloudFormation template adalah sebagai berikut:

  • Transformasi deklarasi. Deklarasi Transform: AWS::Serverless-2016-10-31 diperlukan untuk file templat AWS SAM . Deklarasi ini mengidentifikasi file AWS CloudFormation template sebagai file AWS SAM template. Untuk informasi selengkapnya tentang transformasi, lihat Transformasi di Panduan Pengguna AWS CloudFormation .

  • Bagian global. GlobalsBagian ini unik untuk AWS SAM. Bagian ini mendefinisikan properti yang umum untuk semua fungsi nirserver dan API Anda. Semua sumber daya AWS::Serverless::Function, AWS::Serverless::Api, dan AWS::Serverless::SimpleTable mewarisi properti yang didefinisikan dalam bagian Globals. Untuk informasi lebih lanjut tentang bagian ini, lihat Bagian global dari templat AWS SAM.

  • Bagian sumber daya. Dalam AWS SAM template Resources bagian ini dapat berisi kombinasi AWS CloudFormation sumber daya dan sumber AWS SAM daya. Untuk informasi selengkapnya tentang AWS CloudFormation sumber daya, lihat referensi jenis AWS sumber daya dan properti di Panduan AWS CloudFormation Pengguna. Untuk informasi selengkapnya tentang AWS SAM sumber daya, lihatAWS SAM sumber daya dan properti.

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

YAML

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

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, sebelumnyaAWS::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)

Untuk AWS SAM template, Anda harus menyertakan bagian ini dengan nilaiAWS::Serverless-2016-10-31.

Transformasi tambahan termasuk hal opsional. Untuk informasi selengkapnya tentang transformasi, lihat Transformasi di Panduan Pengguna AWS CloudFormation .

Globals (opsional)

Properti yang umum untuk semua fungsi nirserver, API, dan tabel sederhana. Semua sumber daya AWS::Serverless::Function, AWS::Serverless::Api, dan AWS::Serverless::SimpleTable mewarisi properti yang didefinisikan dalam bagian Globals.

Bagian ini unik untuk AWS SAM. Tidak ada bagian yang sesuai di templat AWS CloudFormation .

Deskripsi (opsional)

Sebuah string teks yang menggambarkan templat.

Bagian ini sesuai langsung dengan Description bagian AWS CloudFormation templat.

Metadata (opsional)

Objek yang memberikan informasi tambahan tentang templat.

Bagian ini sesuai langsung dengan Metadata bagian AWS CloudFormation templat.

Parameter (opsional)

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-nilai yang diteruskan dalam menggunakan parameter --parameter-overrides dari perintah sam deploy—dan entri dalam file konfigurasi—mengutamakan mengambil entri pada file templat AWS SAM . Untuk informasi selengkapnya tentang sam deploy perintah, lihat sam deploy di referensi AWS SAMCLI perintah. Untuk informasi selengkapnya tentang file konfigurasi, lihat AWS SAM CLI berkas konfigurasi.

Pemetaan (opsional)

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 Fn::FindInMap dalam bagian Resources dan Outputs.

Bagian ini sesuai langsung dengan Mappings bagian AWS CloudFormation templat.

Kondisi (opsional)

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 AWS CloudFormation templat.

Sumber daya (wajib)

Sumber daya tumpukan dan properti mereka, 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 AWS CloudFormation . Dalam AWS SAM template, bagian ini dapat berisi AWS SAM sumber daya selain AWS CloudFormation sumber daya.

Output (opsional)

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 AWS CloudFormation .

Langkah selanjutnya

Untuk mengunduh dan menyebarkan contoh aplikasi tanpa server yang berisi file AWS SAM templat, lihat Memulai dengan AWS SAM dan ikuti instruksi di. Tutorial: Menyebarkan aplikasi Hello World dengan AWS SAM