Tansformasi AWS::Include - AWS CloudFormation

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

Tansformasi AWS::Include

Topik ini menjelaskan cara menggunakan AWS::Include transformasi untuk menyisipkan konten boilerplate ke dalam template Anda CloudFormation .

AWS::IncludeIni adalah CloudFormation makro yang, ketika direferensikan dalam template tumpukan Anda, menyisipkan konten file yang ditentukan di lokasi transformasi dalam template saat Anda membuat atau memperbarui tumpukan menggunakan set perubahan. Fungsi AWS::Include berperilaku serupa dengan include, copy, atau import terarah dalam bahasa pemrograman.

Penggunaan

Anda dapat menggunakan AWS::Include transformasi di mana saja dalam CloudFormation template kecuali di bagian parameter template atau versi template. Misalnya, Anda dapat menggunakan AWS::Include di bagian pemetaan.

Sintaks pada tingkat puncak templat

Untuk mendeklarasikan transformasi ini di tingkat atas CloudFormation template Anda, sebagai Transform bagian, gunakan sintaks berikut:

JSON

{ "Transform":{ "Name":"AWS::Include", "Parameters":{ "Location":"s3://amzn-s3-demo-bucket/MyFileName.json" } }, "Resources":{ ... } }

YAML

Transform: Name: 'AWS::Include' Parameters: Location: 's3://amzn-s3-demo-bucket/MyFileName.yaml' Resources: ...

Sintaks ketika transformasi tertanam dalam bagian dari templat

Untuk mendeklarasikan transformasi ini dalam bagian CloudFormation template Anda, gunakan fungsi Fn::Transform intrinsik dan sintaks berikut:

JSON

{ "Fn::Transform":{ "Name":"AWS::Include", "Parameters":{ "Location":"s3://amzn-s3-demo-bucket/MyFileName.json" } } }

YAML

'Fn::Transform': Name: 'AWS::Include' Parameters: Location: s3://amzn-s3-demo-bucket/MyFileName.yaml

Untuk informasi selengkapnya, lihat Fn::Transform.

Parameter

Location

Lokasinya adalah URI Amazon S3, dengan nama file tertentu di bucket S3. Misalnya, s3://amzn-s3-demo-bucket/MyFile.yaml.

Pertimbangan

Ketika menggunakan AWS::Include, perhatikan pertimbangan berikut. Untuk pertimbangan selengkapnya tentang penggunaan makro, lihat Pertimbangan Macro di Panduan Pengguna.AWS CloudFormation

  • Saat ini kami mendukung Amazon S3 URI, tetapi tidak ada format Amazon S3 lainnya (seperti Amazon S3 ARN). Itu harus ember Amazon S3, sebagai lawan dari sesuatu seperti repositori. GitHub

  • Siapa pun yang memiliki akses ke URL Amazon S3 dapat menyertakan cuplikan di template mereka.

  • Cuplikan template Anda harus JSON yang valid.

  • Cuplikan template Anda harus berupa objek nilai kunci yang valid, misalnya,. "KeyName": "keyValue"

  • Anda tidak dapat menggunakan AWS::Include untuk mereferensi cuplikan templat yang juga menggunakan AWS::Include.

  • Jika cuplikan Anda berubah, tumpukan Anda tidak secara otomatis mengambil perubahan tersebut. Untuk mendapatkan perubahan tersebut, Anda harus memperbarui tumpukan dengan cuplikan yang diperbarui. Jika Anda memperbarui tumpukan Anda, pastikan cuplikan yang disertakan tidak berubah tanpa sepengetahuan Anda. Untuk memverifikasi sebelum memperbarui stack, periksa set perubahan.

  • Saat membuat templat dan cuplikan, Anda dapat mencampur bahasa templat YAML dan JSON.

  • Saat ini kami tidak mendukung penggunaan notasi singkat untuk cuplikan YAML.

  • Anda dapat menyediakan replikasi lintas wilayah Amazon S3 URI dengan. AWS::Include Pastikan Anda memeriksa nama bucket Amazon S3 saat mengakses objek replikasi lintas wilayah. Untuk informasi selengkapnya, lihat Mereplikasi objek di dalam dan di seluruh Wilayah di Panduan Pengguna Amazon S3.

Contoh

Contoh berikut menunjukkan bagaimana menggunakan AWS::Include transformasi untuk mengeksekusi pegangan kondisi tunggu. Ganti amzn-s3-demo-bucket dengan nama bucket Anda yang sebenarnya.

Pertama, simpan file YAMAL bernama single_wait_condition.yaml di bucket S3 Anda dengan konten berikut:

MyWaitCondition: Type: AWS::CloudFormation::WaitCondition Properties: Handle: !Ref MyWaitHandle Timeout: '4500'

Anda kemudian dapat mereferensikan file ini menggunakan format JSON atau YAMAL.

JSON

{ "Resources": { "MyWaitHandle": { "Type": "AWS::CloudFormation::WaitConditionHandle" }, "Fn::Transform": { "Name": "AWS::Include", "Parameters": { "Location": "s3://amzn-s3-demo-bucket/single_wait_condition.yaml" } } } }

YAML

Resources: MyWaitHandle: Type: AWS::CloudFormation::WaitConditionHandle 'Fn::Transform': Name: 'AWS::Include' Parameters: Location: "s3://amzn-s3-demo-bucket/single_wait_condition.yaml"

Untuk informasi selengkapnya, lihat Membuat kondisi tunggu di CloudFormation templat di Panduan AWS CloudFormation Pengguna.