

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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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`
<a name="intrinsic-function-reference-findinmap-enhancements"></a>

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
<a name="intrinsic-function-reference-findinmap-enhancements-declaration"></a>

### JSON
<a name="intrinsic-function-reference-findinmap-enhancements-syntax.json"></a>

```
{ "Fn::FindInMap" : [
    "MapName",
    "TopLevelKey",
    "SecondLevelKey",
    {"DefaultValue": "DefaultValue"}
  ]
}
```

### YAML
<a name="intrinsic-function-reference-findinmap-enhancements-syntax.yaml"></a>

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
<a name="intrinsic-function-reference-findinmap-enhancements-parameters"></a>

DefaultValue  <a name="DefaultValue"></a>
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
<a name="w2aac28c16c20c15"></a>

Die folgenden Beispiele zeigen, wie Sie die Felder von `Fn::FindInMap` definieren, wenn Sie die Transformation `AWS::LanguageExtensions` hinzufügen.

### Einen Standardwert verwenden
<a name="intrinsic-function-reference-findinmap-enhancements-example"></a>

Im Folgenden finden Sie ein Beispiel für die Verwendung eines Standardwerts in der Funktion `Fn::FindInMap` .

#### JSON
<a name="intrinsic-function-reference-findinmap-default-value-example.json"></a>

```
{
  //...
    "Transform": "AWS::LanguageExtensions",
    //...
    "Fn::FindInMap": [
      "RegionMap",
      { "Ref": "AWS::Region" },
      "InstanceType",
      { "DefaultValue": "t3.micro" }
    ]
  //...
}
```

#### YAML
<a name="intrinsic-function-reference-findinmap-default-value-example.yaml"></a>

```
Transform: 'AWS::LanguageExtensions'
#...
    !FindInMap 
        - 'RegionMap'
        - !Ref 'AWS::Region'
        - 'InstanceType'
        - DefaultValue: t3.micro
#...
```

#### Intrinsische Funktionen verwenden, um den Schlüssel der obersten Ebene zu definieren
<a name="intrinsic-function-reference-findinmap-enhancements-example"></a>

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
<a name="intrinsic-function-reference-findinmap-enhancement-example.json"></a>

```
{
  //...
  "Transform": "AWS::LanguageExtensions",
  //...
      "Fn::FindInMap": [
        "MyMap",
        {
          "Fn::Select": [
            0,
            {
              "Fn::Split": [
                "|",
                { "Ref": "InputKeys" }
              ]
            }
          ]
        },
        "SecondKey"
      ]
//...
}
```

##### YAML
<a name="intrinsic-function-reference-findinmap-enhance-example.yaml"></a>

```
Transform: 'AWS::LanguageExtensions'
#...
    !FindInMap: [MyMap, !Select [0, !Split [|, !Ref InputKeys]], SecondKey]
#...
```

## Unterstützte Funktionen
<a name="intrinsic-function-reference-findinmap-enhancements-supported-functions"></a>

Sie können die folgenden Funktionen in den `Fn::FindInMap:`-Bedingungen verwenden:
+ ``Fn::FindInMap``
+ ``Fn::Join``
+ ``Fn::Sub``
+ ``Fn::If``
+ ``Fn::Select``
+ ``Fn::Length``
+ ``Fn::ToJsonString``
+ ``Fn::Split`` – Sofern es nicht für den Standardwert verwendet wird, muss `Fn::Split` in Verbindung mit intrinsischen Funktionen verwendet werden, die eine Zeichenfolge erzeugen, z. B. ``Fn::Join`` oder ``Fn::Select``.
+ ``Ref``

## Zugehörige Ressourcen
<a name="w2aac28c16c20c19"></a>

Weitere Informationen und Beispiele für die Verwendung der Funktion `Fn::FindInMap` finden Sie unter [`Fn::FindInMap`](intrinsic-function-reference-findinmap.md).

Weitere Informationen zu diesen `AWS::LanguageExtensions`-Transformationen finden Sie unter [`AWS::LanguageExtensions`-Transformation](transform-aws-languageextensions.md).