Dies ist der neue AWS CloudFormation Vorlagen-Referenzleitfaden. 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 Fn::FindInMap Standardfunktion weist jedoch Einschränkungen auf, z. B. die Unfähigkeit, fehlende Zuordnungen zu verarbeiten oder eine Fn::FindInMap Funktion zu verwenden, in die einige intrinsische Funktionen eingebettet sind.
Die AWS::LanguageExtensions Transformation behebt diese Einschränkungen, indem sie die folgenden Verbesserungen einführt:
-
Unterstützung von Standardwerten — Sie können einen Standardwert angeben, der zurückgegeben werden soll, wenn keine Zuordnung gefunden wird.
-
Unterstützung systemeigener Funktionen — Sie können zur Definition der Felder von auch ein breiteres Spektrum systemeigener Funktionen verwenden
Fn::FindInMapals mit der Standardfunktion.Fn::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
Parameter
- DefaultValue
-
Der Wert, in den aufgelöst
Fn::FindInMapwird, wenn er in derTopLevelKeyand/orSecondLevelKeyMap nicht gefunden werden kann.MapNameDies 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 definierenFn::FindInMap, ab wann Sie die AWS::LanguageExtensions Transformation hinzufügen.
Verwenden eines Standardwerts
Im Folgenden finden Sie ein Beispiel für die Verwendung eines Standardwerts in der Fn::FindInMap Funktion.
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 #...
Verwendung systemeigener Funktionen zur Definition des Schlüssels der obersten Ebene
Im Folgenden finden Sie ein Beispiel für die Verwendung einer Fn::FindInMap Funktion mit eingebetteten Funktionen Fn::Select und Fn::Split integrierten Funktionen zur Definition des Schlüssels der obersten Ebene.
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 zur Verwendung der Fn::FindInMap systeminternen Funktion finden Sie unter. Fn::FindInMap
Weitere Informationen zu diesen AWS::LanguageExtensions-Transformationen finden Sie unter AWS::LanguageExtensions-Transformation.