Fn::FindInMap enhancements - AWS CloudFormation

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, wenn TopLevelKey und/oder SecondLevelKey nicht auf der MapName-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:

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.