

Questa è la nuova *Guida di riferimento ai modelli CloudFormation *. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la [Guida AWS CloudFormation per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# `Fn:: miglioramenti FindInMap`
<a name="intrinsic-function-reference-findinmap-enhancements"></a>

La `AWS::LanguageExtensions` trasformazione migliora la funzionalità della funzione `Fn::FindInMap` intrinseca nei modelli. CloudFormation 

La `Fn::FindInMap` funzione standard supporta solo `Fn::FindInMap` e `Ref` come funzioni intrinseche annidate. La `AWS::LanguageExtensions` trasformazione rimuove questa limitazione, consentendo di utilizzare una gamma più ampia di funzioni intrinseche per definire i parametri di. `Fn::FindInMap`

**Nota**  
Il `DefaultValue` parametro for `Fn::FindInMap` non richiede più la `AWS::LanguageExtensions` trasformazione. È possibile utilizzarlo `DefaultValue` in qualsiasi CloudFormation modello. Per ulteriori informazioni, consulta [`Ventilatore:: FindInMap`](intrinsic-function-reference-findinmap.md).

## Dichiarazione
<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}}"] }
```

Se desideri specificare un valore di riserva per quando una chiave non viene trovata nella mappatura, includi: `DefaultValue`

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

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

Sintassi per il nome completo della funzione:

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

Sintassi per la forma breve:

```
!FindInMap [ {{MapName}}, {{TopLevelKey}}, {{SecondLevelKey}} ]
```

Se desideri specificare un valore di riserva per quando una chiave non viene trovata nella mappatura, includi: `DefaultValue`

Sintassi per il nome completo della funzione:

```
Fn::FindInMap:
  - {{MapName}}
  - {{TopLevelKey}}
  - {{SecondLevelKey}}
  - DefaultValue: {{DefaultValue}}
```

Sintassi per la forma breve:

```
!FindInMap
  - {{MapName}}
  - {{TopLevelKey}}
  - {{SecondLevelKey}}
  - DefaultValue: {{DefaultValue}}
```

## Parameters
<a name="intrinsic-function-reference-findinmap-enhancements-parameters"></a>

Con la `AWS::LanguageExtensions` trasformazione, i parametri`MapName`, `TopLevelKey``SecondLevelKey`, e `DefaultValue` possono essere ciascuno una funzione intrinseca, purché si risolva in un valore valido durante la trasformazione.

## Esempi
<a name="w2aac28c16c20c13"></a>

Gli esempi seguenti mostrano come utilizzare le funzioni intrinseche nei parametri di `Fn::FindInMap` quando si aggiunge la trasformazione. `AWS::LanguageExtensions`

### Utilizzare le funzioni intrinseche per definire la chiave di primo livello
<a name="intrinsic-function-reference-findinmap-enhancements-example"></a>

Di seguito è riportato un esempio di utilizzo di una funzione `Fn::FindInMap` con le funzioni intrinseche `Fn::Select` e `Fn::Split` incorporate al suo interno per definire la chiave di primo livello.

#### 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]
#...
```

## Funzioni supportate
<a name="intrinsic-function-reference-findinmap-enhancements-supported-functions"></a>

È possibile utilizzare le seguenti funzioni nei parametri di `Fn::FindInMap` con la `AWS::LanguageExtensions` trasformazione:
+ ``Ventilatore:: FindInMap``
+ ``Fn::Join``
+ ``Fn::Sub``
+ ``Fn::If``
+ ``Fn: :Seleziona``
+ ``Fn::Length``
+ ``Fn::ToJsonString``
+ ``Fn::Split``— A meno che non venga utilizzato per il valore predefinito, `Fn::Split` deve essere utilizzato insieme a funzioni intrinseche che producono una stringa, ad esempio o. ``Fn::Join`` ``Fn: :Seleziona``
+ ``Ref``

## Risorse correlate
<a name="w2aac28c16c20c17"></a>

Per ulteriori informazioni ed esempi che mostrano come utilizzare la funzione `Fn::FindInMap` intrinseca, incluso il parametro, vedere. `DefaultValue` [`Ventilatore:: FindInMap`](intrinsic-function-reference-findinmap.md)

Per ulteriori informazioni sulla trasformazione `AWS::LanguageExtensions`, consulta [Trasformazione `AWS::LanguageExtensions`](transform-aws-languageextensions.md).