Format templat - AWS CloudFormation

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

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, dan timestamp

  • 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 Bagian templat.