Dies ist das neue CloudFormation Template Reference Guide. Bitte aktualisieren Sie Ihre Lesezeichen und Links. Hilfe zu den ersten CloudFormation Schritten finden Sie im AWS CloudFormation Benutzerhandbuch.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Fn::FindInMap
enhancements
Die AWS::LanguageExtensions Transformation verbessert die Funktionalität der Fn::FindInMap intrinsischen Funktion in CloudFormation Vorlagen.
Die Fn::FindInMap Funktion wird verwendet, um einen Wert aus einem Mapping abzurufen, das im Mappings Abschnitt einer CloudFormation Vorlage definiert ist. Die Standardfunktion Fn::FindInMap hat jedoch einige Einschränkungen, wie beispielsweise die Unfähigkeit, mit fehlenden Zuordnungen umzugehen oder eine Funktion Fn::FindInMap zu verwenden, in die einige intrinsische Funktionen eingebettet sind.
Die AWS::LanguageExtensions-Transformation behebt diese Einschränkungen durch die Einführung der folgenden Verbesserungen:
-
Standardwert Unterstützung- Sie können einen Standardwert angeben, der zurückgegeben wird, wenn keine Zuordnung gefunden wird.
-
Unterstützung für intrinsische Funktionen- Sie können auch eine breitere Palette von intrinsischen Funktionen verwenden, um die Felder von
Fn::FindInMapzu definieren als mit der StandardfunktionFn::FindInMap.
Deklaration
JSON
{ "Fn::FindInMap" : [ "MapName", "TopLevelKey", "SecondLevelKey", {"DefaultValue": "DefaultValue"} ] }
YAML
Syntax für den vollständigen Funktionsnamen:
Fn::FindInMap:- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Syntax für die Kurzform:
!FindInMap- MapName- TopLevelKey- SecondLevelKey- DefaultValue:DefaultValue
Parameters
- DefaultValue
-
Der Wert, in den aufgelöst
Fn::FindInMapwird, wenn er nicht in derMapNameMap gefunden werdenTopLevelKeyand/orSecondLevelKeykann. Dies ist ein optionales Feld.
Alle Parameter MapName, TopLevelKey, SecondLevelKey und DefaultValue können eine intrinsische Funktion sein, sofern sie während der Transformation in einen gültigen Wert aufgelöst werden können.
Beispiele
Die folgenden Beispiele zeigen, wie Sie die Felder von Fn::FindInMap definieren, wenn Sie die Transformation AWS::LanguageExtensions hinzufügen.
Einen Standardwert verwenden
Im Folgenden finden Sie ein Beispiel für die Verwendung eines Standardwerts in der Funktion Fn::FindInMap .
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 #...
Intrinsische Funktionen verwenden, um den Schlüssel der obersten Ebene zu definieren
Im Folgenden sehen Sie ein Beispiel für die Verwendung einer Funktion Fn::FindInMap mit den darin eingebetteten Funktionen Fn::Select und Fn::Split, um den Schlüssel der obersten Ebene zu definieren.
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] #...
Unterstützte Funktionen
Sie können die folgenden Funktionen in den Fn::FindInMap:-Bedingungen verwenden:
-
Fn::Split– Sofern es nicht für den Standardwert verwendet wird, mussFn::Splitin Verbindung mit intrinsischen Funktionen verwendet werden, die eine Zeichenfolge erzeugen, z. B.Fn::JoinoderFn::Select.
Zugehörige Ressourcen
Weitere Informationen und Beispiele für die Verwendung der Funktion Fn::FindInMap finden Sie unter Fn::FindInMap.
Weitere Informationen zu diesen AWS::LanguageExtensions-Transformationen finden Sie unter AWS::LanguageExtensions-Transformation.