Fn::FindInMap enhancements - AWS CloudFormation

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::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 jika TopLevelKey dan/atau tidak SecondLevelKey dapat ditemukan dari MapName peta. 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:

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.