Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fn::FindInMap
enhancements
AWS::LanguageExtensions
Transformasi meningkatkan fungsionalitas fungsi Fn::FindInMap
intrinsik dalam template. CloudFormation
Fn::FindInMap
Fungsi 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::LanguageExtensions
Transformasi 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::FindInMap
daripada 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::FindInMap
akan menyelesaikan jikaTopLevelKey
dan/atau tidakSecondLevelKey
dapat ditemukan dariMapName
peta. Bidang ini bersifat opsional.
Semua parameter MapName
TopLevelKey
,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::Split
harus digunakan bersama dengan fungsi intrinsik yang menghasilkan string, seperti atau.Fn::Join
Fn::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.