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::Include
Ini 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 menggunakanAWS::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.