Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fn::FindInMap
Fungsi intrinsik Fn::FindInMap
mengembalikan nilai yang sesuai dengan kunci dalam peta dua tingkat yang dideklarasikan di bagian. Mappings
Untuk informasi lebih lanjut tentang penyempurnaan fungsi Fn::FindInMap
intrinsik saat menggunakan transformasi, lihat. AWS::LanguageExtensions
Fn::FindInMap enhancements
Pernyataan
JSON
{ "Fn::FindInMap" : [ "
MapName
", "TopLevelKey
", "SecondLevelKey
"] }
YAML
Sintaks untuk nama fungsi penuh:
Fn::FindInMap: [
MapName
,TopLevelKey
,SecondLevelKey
]
Sintaks untuk bentuk pendek:
!FindInMap [
MapName
,TopLevelKey
,SecondLevelKey
]
catatan
Anda tidak dapat me-nest dua instans dari dua fungsi dalam bentuk singkat.
Parameter
- MapName
-
Nama logis dari pemetaan dinyatakan di bagian Pemetaan yang berisi kunci dan nilai.
- TopLevelKey
-
Nama kunci tingkat atas. Nilainya adalah daftar pasangan nilai kunci.
- SecondLevelKey
-
Nama kunci tingkat kedua, yang diatur ke salah satu kunci dari daftar yang ditetapkan untuk
TopLevelKey
.
Nilai kembali:
Nilai yang ditetapkan untukSecondLevelKey
.
Contoh
Contoh berikut menunjukkan cara menggunakan Fn::FindInMap
template dengan Mappings
bagian yang berisi peta tunggalRegionMap
, yang mengaitkan AMI dengan AWS Wilayah.
-
Peta ini memiliki 5 kunci tingkat atas yang sesuai dengan berbagai AWS Wilayah.
-
Setiap kunci tingkat atas diberikan daftar dengan dua kunci tingkat kedua,
"HVM64"
dan"HVMG2"
, yang sesuai dengan arsitektur AMI. -
Setiap kunci tingkat kedua diberi nama AMI yang sesuai.
Contoh templat berisi sumber daya AWS::EC2::Instance
yang properti ImageId
-nya diatur berdasarkan fungsi FindInMap
.
MapName
diatur ke peta yang menarik, "RegionMap"
dalam contoh ini. TopLevelKey
diatur ke Wilayah tempat tumpukan dibuat, yang ditentukan dengan menggunakan parameter "AWS::Region"
semu. SecondLevelKey
diatur ke arsitektur yang diinginkan, "HVM64"
untuk contoh ini.
FindInMap
mengembalikan AMI yang ditetapkan untuk FindInMap
. Untuk instans HVM64 di us-east-1, FindInMap
akan mengembalikan "ami-0ff8a91507f77f867"
.
JSON
{ ... "Mappings" : { "RegionMap" : { "us-east-1" : { "HVM64" : "ami-0ff8a91507f77f867", "HVMG2" : "ami-0a584ac55a7631c0c" }, "us-west-1" : { "HVM64" : "ami-0bdb828fd58c52235", "HVMG2" : "ami-066ee5fd4a9ef77f1" }, "eu-west-1" : { "HVM64" : "ami-047bb4163c506cd98", "HVMG2" : "ami-0a7c483d527806435" }, "ap-southeast-1" : { "HVM64" : "ami-08569b978cc4dfa10", "HVMG2" : "ami-0be9df32ae9f92309" }, "ap-northeast-1" : { "HVM64" : "ami-06cd52961ce9f0d85", "HVMG2" : "ami-053cdd503598e4a9d" } } }, "Resources" : { "myEC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "HVM64" ] }, "InstanceType" : "m1.small" } } } }
YAML
Mappings: RegionMap: us-east-1: HVM64: "ami-0ff8a91507f77f867" HVMG2: "ami-0a584ac55a7631c0c" us-west-1: HVM64: "ami-0bdb828fd58c52235" HVMG2: "ami-066ee5fd4a9ef77f1" eu-west-1: HVM64: "ami-047bb4163c506cd98" HVMG2: "ami-31c2f645" ap-southeast-1: HVM64: "ami-08569b978cc4dfa10" HVMG2: "ami-0be9df32ae9f92309" ap-northeast-1: HVM64: "ami-06cd52961ce9f0d85" HVMG2: "ami-053cdd503598e4a9d" Resources: myEC2Instance: Type: "AWS::EC2::Instance" Properties: ImageId: !FindInMap - RegionMap - !Ref 'AWS::Region' - HVM64 InstanceType: m1.small
Fungsi yang didukung
Anda dapat menggunakan fungsi berikut di fungsi Fn::FindInMap
:
-
Fn::FindInMap
-
Ref