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
systemeigenen Funktion in Vorlagen. CloudFormation
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 wird, 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::FindInMap
als 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
Fn::FindInMap
aufgelöst wird, wennTopLevelKey
und/oderSecondLevelKey
nicht auf derMapName
-Karte gefunden werden können. 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 definieren, Fn::FindInMap
wenn Sie die Transformation hinzufügen. AWS::LanguageExtensions
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::Split
in Verbindung mit intrinsischen Funktionen verwendet werden, die eine Zeichenfolge erzeugen, z. B.Fn::Join
oderFn::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.