Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tansformasi AWS::LanguageExtensions
AWS::LanguageExtensions
Transformasi adalah makro yang dihosting oleh AWS CloudFormation yang memungkinkan Anda menggunakan fungsi intrinsik dan fungsionalitas lain yang tidak disertakan secara default di. AWS CloudFormation Saat templat mereferensikanAWS::LanguageExtensions
, dan Anda membuat atau memperbarui tumpukan menggunakan set perubahan, AWS CloudFormation memperbarui fungsi intrinsik apa pun yang ditentukan oleh transformasi ke nilai yang diselesaikan dalam templat. Ketika Anda menambahkan AWS::LanguageExtensions
transformasi dalam AWS CloudFormation template, Anda dapat menggunakan fungsi intrinsik sebagai parameter untuk Ref dan. Fn::GetAtt
AWS::LanguageExtensions
Transformasi mendukung fungsi dan atribut berikut:
Penggunaan
Nilai untuk pernyataan perubahan harus berupa string literal. Anda tidak dapat menggunakan parameter atau fungsi untuk menentukan nilai perubahan. Lihat cuplikan ini untuk contoh deklarasi transformasi:
Sintaksis pada tingkat puncak templat
Gunakan AWS::LanguageExtensions
transformasi di tingkat atas template. Anda tidak dapat menggunakan AWS::LanguageExtensions
transformasi sebagai transformasi tertanam di bagian template lainnya.
JSON
"Transform": "AWS::LanguageExtensions"
YAML
Transform: AWS::LanguageExtensions
Parameter
AWS::LanguageExtensions
Transformasi tidak menerima parameter.
Keterangan
Saat menggunakan AWS::LanguageExtensions
transformasi, ingatlah pertimbangan berikut:
-
Jika Anda memperbarui tumpukan menggunakan nilai parameter yang berbeda, jangan gunakan
--use-previous-template
opsi di mana template asli berisi transformasi. Gunakan template asli, sebelum transformasi, dalamUpdateStack
panggilan. Tumpukan akan diperbarui dengan nilai parameter baru. -
Sintaks YAMAL bentuk pendek tidak didukung dalam template untuk fungsi intrinsik yang hanya tersedia dalam transformasi.
AWS::LanguageExtensions
Contoh fungsi intrinsik yang hanya tersedia dalamAWS::LanguageExtensions
transformasi adalahFn::Length
dan.Fn::ToJsonString
Gunakan referensi eksplisit untuk fungsi-fungsi ini. Misalnya, gunakanFn::Length
sebagai ganti dari!Length
. -
Jika Anda menggunakan beberapa transformasi, gunakan format daftar. Jika Anda menggunakan makro kustom, place AWS-provided transforms setelah makro kustom Anda. Jika Anda menggunakan kedua
AWS::LanguageExtensions
danAWS::Serverless
transformasi,AWS::LanguageExtensions
transformasi harus datang sebelumAWS::Serverless
transformasi dalam daftar. -
Fungsi dan atribut yang disediakan oleh
AWS::LanguageExtensions
transformasi hanya didukung diResources
Conditions
,, danOutputs
bagian template.
Untuk informasi selengkapnya tentang penggunaan makro, lihatMembuat definisi CloudFormation makro.
Contoh
Contoh berikut menunjukkan bagaimana menggunakan AWS::LanguageExtensions
transformasi untuk menggunakan fungsi Fn::Length
intrinsik, yang ditentukan oleh transformasi.
JSON
{ "AWSTemplateFormatVersion": "2010-09-09", "Transform": "AWS::LanguageExtensions", "Parameters": { "QueueList": { "Type": "CommaDelimitedList" }, "QueueNameParam": { "Description": "Name for your SQS queue", "Type": "String" } }, "Resources": { "Queue": { "Type": "AWS::SQS::Queue", "Properties": { "QueueName": { "Ref": "QueueNameParam" }, "DelaySeconds": { "Fn::Length": { "Ref": "QueueList" } } } } } }
YAML
AWSTemplateFormatVersion: 2010-09-09 Transform: 'AWS::LanguageExtensions' Parameters: QueueList: Type: CommaDelimitedList QueueNameParam: Description: Name for your SQS queue Type: String Resources: Queue: Type: 'AWS::SQS::Queue' Properties: QueueName: !Ref QueueNameParam DelaySeconds: 'Fn::Length': !Ref QueueList