Ini adalah Panduan Referensi CloudFormation Template baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat Panduan AWS CloudFormation Pengguna.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fn::FindInMap
enhancements
AWS::LanguageExtensionsTransformasi meningkatkan fungsionalitas fungsi Fn::FindInMap intrinsik dalam template. CloudFormation
Fn::FindInMapFungsi ini digunakan untuk mengambil nilai dari pemetaan yang didefinisikan di Mappings bagian template. CloudFormation Namun, Fn::FindInMap fungsi standar memiliki keterbatasan, seperti ketidakmampuan untuk menangani pemetaan yang hilang atau menggunakan Fn::FindInMap fungsi dengan beberapa fungsi intrinsik yang tertanam di dalamnya.
AWS::LanguageExtensionsTransformasi mengatasi keterbatasan ini dengan memperkenalkan penyempurnaan berikut:
-
Dukungan nilai default - Anda dapat menentukan nilai default yang akan dikembalikan jika pemetaan tidak ditemukan.
-
Dukungan fungsi intrinsik — Anda juga dapat menggunakan berbagai fungsi intrinsik yang lebih luas untuk menentukan bidang
Fn::FindInMapdaripada dengan fungsi standar.Fn::FindInMap
Pernyataan
JSON
{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey", {"DefaultValue": "DefaultValue"} ] }
YAML
Sintaks untuk nama fungsi penuh:
Fn::FindInMap:- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Sintaks untuk bentuk pendek:
!FindInMap- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Parameter
- DefaultValue
-
Nilai yang
Fn::FindInMapakan menyelesaikan jika tidakTopLevelKeyand/orSecondLevelKeydapat ditemukan dariMapNamepeta. Bidang ini bersifat opsional.
Semua parameter MapNameTopLevelKey,SecondLevelKey,, dan DefaultValue dapat menjadi fungsi intrinsik selama dapat menyelesaikan ke nilai yang valid selama transformasi.
Contoh
Contoh berikut menunjukkan cara menentukan bidang Fn::FindInMap saat Anda menambahkan AWS::LanguageExtensions transformasi.
Menggunakan nilai default
Berikut ini adalah contoh menggunakan nilai default dalam Fn::FindInMap fungsi.
JSON
{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "RegionMap", { "Ref": "AWS::Region" }, "InstanceType", { "DefaultValue": "t3.micro" } ] //... }
YAML
Transform: 'AWS::LanguageExtensions' #... !FindInMap - 'RegionMap' - !Ref 'AWS::Region' - 'InstanceType' - DefaultValue: t3.micro #...
Menggunakan fungsi intrinsik untuk menentukan kunci tingkat atas
Berikut ini adalah contoh menggunakan fungsi dengan Fn::Select dan Fn::FindInMap fungsi Fn::Split intrinsik tertanam di dalamnya untuk menentukan kunci tingkat atas.
JSON
{ //... "Transform": "AWS::LanguageExtensions", //... "Fn::FindInMap": [ "MyMap", { "Fn::Select": [ 0, { "Fn::Split": [ "|", { "Ref": "InputKeys" } ] } ] }, "SecondKey" ] //... }
YAML
Transform: 'AWS::LanguageExtensions' #... !FindInMap: [MyMap, !Select [0, !Split [|, !Ref InputKeys]], SecondKey] #...
Fungsi yang didukung
Anda dapat menggunakan fungsi-fungsi berikut dalam parameter Fn::FindInMap: penyempurnaan:
-
Fn::Split- Kecuali jika digunakan untuk nilai default,Fn::Splitharus digunakan bersama dengan fungsi intrinsik yang menghasilkan string, seperti atau.Fn::JoinFn::Select
Sumber daya terkait
Untuk informasi lebih lanjut dan contoh yang menunjukkan cara menggunakan fungsi Fn::FindInMap intrinsik, lihat. Fn::FindInMap
Untuk informasi lebih lanjut tentang AWS::LanguageExtensions transformasi, lihatTansformasi AWS::LanguageExtensions.