Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CloudFormation format templat
Anda dapat membuat CloudFormation templat dalam JSON atau YAML format. Kedua format melayani tujuan yang sama tetapi menawarkan keuntungan yang berbeda dalam hal keterbacaan dan kompleksitas.
-
JSON- JSON adalah format pertukaran data ringan yang mudah bagi mesin untuk mengurai dan menghasilkan. Namun, dapat menjadi rumit bagi manusia untuk membaca dan menulis, terutama untuk konfigurasi yang kompleks. DalamJSON, template disusun menggunakan kawat gigi
{}
dan tanda kurung bersarang[]
untuk menentukan sumber daya, parameter, dan komponen lainnya. Sintaksnya membutuhkan deklarasi eksplisit dari setiap elemen, yang dapat membuat template bertele-tele tetapi memastikan kepatuhan yang ketat terhadap format terstruktur. -
YAML— YAML dirancang agar lebih mudah dibaca manusia dan kurang bertele-tele daripada. JSON Ini menggunakan lekukan daripada kawat gigi dan tanda kurung untuk menunjukkan bersarang, yang dapat membuatnya lebih mudah untuk memvisualisasikan hierarki sumber daya dan parameter. YAMLsering disukai karena kejelasan dan kemudahan penggunaannya, terutama ketika berhadapan dengan template yang lebih kompleks. Namun, YAML ketergantungan pada lekukan dapat menyebabkan kesalahan jika jarak tidak konsisten, yang membutuhkan perhatian yang cermat untuk menjaga akurasi.
Struktur templat
CloudFormation template dibagi menjadi beberapa bagian yang berbeda, dan setiap bagian dirancang untuk menyimpan jenis informasi tertentu. Beberapa bagian harus dinyatakan dalam urutan tertentu, dan untuk yang lain, urutannya tidak masalah. Namun, saat Anda membangun template Anda, akan sangat membantu untuk menggunakan urutan logis yang ditunjukkan dalam contoh berikut karena nilai dalam satu bagian mungkin merujuk ke nilai dari bagian sebelumnya.
Saat membuat template, jangan gunakan duplikat bagian utama, seperti bagian. Resources
Meskipun CloudFormation mungkin menerima template, itu akan memiliki perilaku yang tidak terdefinisi saat memproses template, dan mungkin salah menyediakan sumber daya, atau mengembalikan kesalahan yang tidak dapat dijelaskan.
JSON
Contoh berikut menunjukkan struktur template JSON -format dengan semua bagian yang tersedia.
{ "AWSTemplateFormatVersion" : "
version date
", "Description" : "JSON string
", "Metadata" : {template metadata
}, "Parameters" : {set of parameters
}, "Rules" : {set of rules
}, "Mappings" : {set of mappings
}, "Conditions" : {set of conditions
}, "Transform" : {set of transforms
}, "Resources" : {set of resources
}, "Outputs" : {set of outputs
} }
YAML
Contoh berikut menunjukkan struktur template YAML -format dengan semua bagian yang tersedia.
--- AWSTemplateFormatVersion:
version date
Description:String
Metadata:template metadata
Parameters:set of parameters
Rules:set of rules
Mappings:set of mappings
Conditions:set of conditions
Transform:set of transforms
Resources:set of resources
Outputs:set of outputs
Komentar
Dalam templat JSON yang diformat, komentar tidak didukung. JSON, menurut desain, tidak menyertakan sintaks untuk komentar, yang berarti Anda tidak dapat menambahkan komentar secara langsung di dalam JSON struktur. Namun, jika Anda perlu menyertakan catatan penjelasan atau dokumentasi, Anda dapat mempertimbangkan untuk menambahkan metadata. Untuk informasi selengkapnya, lihat Metadataatribut.
Dalam template YAML yang diformat, Anda dapat menyertakan komentar sebaris dengan menggunakan simbol. #
Contoh berikut menunjukkan YAML template dengan komentar inline.
AWSTemplateFormatVersion: 2010-09-09 Description: A sample CloudFormation template with YAML comments. # Resources section Resources: MyEC2Instance: Type: AWS::EC2::Instance Properties: # Linux AMI ImageId: ami-1234567890abcdef0 InstanceType: t2.micro KeyName: MyKey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20
Spesifikasi
CloudFormation mendukung hal berikut JSON dan YAML spesifikasi:
- JSON
-
CloudFormation mengikuti standar ECMA -404JSON. Untuk informasi lebih lanjut tentang JSON format, lihat http://www.json.org
. - YAML
-
CloudFormation mendukung spesifikasi YAML Versi 1.1 dengan beberapa pengecualian. CloudFormation tidak mendukung fitur berikut:
-
Tanda
binary
,omap
,pairs
,set
, dantimestamp
-
Alias
-
Penggabungan hash
Untuk informasi lebih lanjut tentangYAML, lihat https://yaml.org/
. -
Pelajari selengkapnya
Untuk setiap sumber daya yang Anda tentukan dalam template Anda, Anda menentukan properti dan nilainya menggunakan aturan sintaks tertentu dari salah satu JSON atauYAML. Untuk informasi lebih lanjut tentang sintaksis templat untuk setiap format, lihat CloudFormation bagian template.