Fn::FindInMap enhancements - AWS CloudFormation

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::FindInMap zu definieren 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

Parameters

DefaultValue

Der Wert, in den aufgelöst Fn::FindInMap wird, wenn er nicht in der MapName Map gefunden werden TopLevelKey and/or SecondLevelKey kann. 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:

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.