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-31diperlukan 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. Ini mendefinisikan properti yang umum untuk semua fungsi tanpa server Anda dan. APIs Semua sumber dayaAWS::Serverless::Function,AWS::Serverless::Api, danAWS::Serverless::SimpleTablemewarisi properti yang didefinisikan dalam bagianGlobals. Untuk informasi lebih lanjut tentang bagian ini, lihat Bagian global dari templat AWS SAM.
- 
            Bagian sumber daya. Dalam AWS SAM template Resourcesbagian 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 globalsDescription:StringMetadata:template metadataParameters:set of parametersMappings:set of mappingsConditions:set of conditionsResources:set of resourcesOutputs: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 nilai AWS::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 tanpa server Anda, APIs, dan tabel sederhana. Semua sumber daya AWS::Serverless::Function,AWS::Serverless::Api, danAWS::Serverless::SimpleTablemewarisi properti yang didefinisikan dalam bagianGlobals.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 Descriptionbagian AWS CloudFormation templat.
- Metadata (opsional)
- 
                    Objek yang memberikan informasi tambahan tentang templat. Bagian ini sesuai langsung dengan Metadatabagian 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 ResourcesdanOutputsdari templat. Objek yang dinyatakan dalam bagianParametersmenyebabkan perintah sam deploy --guided untuk memberikan petunjuk tambahan kepada pengguna.Nilai yang diteruskan menggunakan --parameter-overridesparametersam deployperintah—dan entri dalam file konfigurasi—lebih diutamakan daripada entri dalam file template. AWS SAM Untuk informasi selengkapnya tentangsam deployperintah, 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::FindInMapdalam bagianResourcesdanOutputs.Bagian ini sesuai langsung dengan Mappingsbagian 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 Conditionsbagian AWS CloudFormation templat.
- Sumber daya (wajib)
- 
                    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 ResourcesdanOutputsdari templat.Bagian ini mirip dengan bagian Resourcesdari 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-stacksAWS Command Line Interface (AWS CLI) untuk melihat nama.Bagian ini berhubungan langsung dengan bagian Outputsdari 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