

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::ForEach`
<a name="intrinsic-function-reference-foreach"></a>

La funzione intrinseca `Fn::ForEach` prende una raccolta e un frammento e applica gli elementi della raccolta all’identificatore nel frammento fornito. `Fn::ForEach` può contenere altre funzioni intrinseche, inclusa `Fn::ForEach` stessa, ed essere utilizzata nelle sezioni `Conditions`, `Outputs` e `Resources` (incluse le proprietà delle risorse). Non può essere utilizzata in nessuna delle seguenti sezioni: `AWSTemplateFormatVersion`, `Description`, `Metadata`, `Transform`, `Parameters`, `Mappings`, `Rules` o `Hooks`.

Se utilizzi la funzione intrinseca `Fn::ForEach` nel modello, devi anche utilizzare [Trasformazione `AWS::LanguageExtensions`](transform-aws-languageextensions.md).

L’utilizzo della funzione intrinseca `Fn::ForEach` non modifica le quote, che si applicano al modello risultante. Le quote includono la dimensione massima di un modello e il numero massimo di risorse in un modello. Per ulteriori informazioni, consulta [Comprendere le CloudFormation quote](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) nella *Guida per l'AWS CloudFormation utente*.

## Dichiarazione
<a name="intrinsic-function-reference-foreach-declaration"></a>

### JSON
<a name="intrinsic-function-reference-foreach-declaration.json"></a>

```
"Fn::ForEach::LoopLogicalName": [
  "Identifier",
  ["Value1","Value2"], // Collection
  {"OutputKey": {OutputValue}}
]
```

### YAML
<a name="intrinsic-function-reference-foreach-declaration.yaml"></a>

```
'Fn::ForEach::LoopLogicalName':
    - Identifier
    - - Value1 # Collection
      - Value2
    - 'OutputKey':
        OutputValue
```

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

*Nome logico del loop*  
Un ID logico per il loop. Il nome deve essere univoco all’interno del modello e non può essere in conflitto con alcun valore di ID logico nella sezione `Resources` del modello. Questo nome non è presente nell’output trasformato. Viene utilizzato come riferimento interno all'interno del CloudFormation modello stesso.

*Identificatore*  
Un identificatore per il segnaposto che viene sostituito nei parametri `OutputKey` e `OutputValue`. Tutte le istanze di `${Identifier}` o `&{Identifier}` nei parametri `OutputKey` e `OutputValue` verranno sostituite con i valori del parametro `Collection`.

*Raccolta*  
La raccolta di valori su cui iterare. Può essere una matrice in questo parametro oppure può essere un [`Ref`](intrinsic-function-reference-ref.md) su un `CommaDelimitedList`. Quando utilizzi `&{Identifier}`, è possibile che i caratteri non alfanumerici vengano trasferiti in `Collection`.

*Chiave di output*  
La chiave nel modello trasformato `${Identifier}` o `&{Identifier}` deve essere inclusa nel parametro `OutputKey`. Ad esempio, se `Fn::ForEach` viene utilizzato nella sezione `Resources` del modello, questo è l’ID logico di ogni risorsa.  
La sintassi `&{}` consente l’utilizzo dei caratteri non alfanumerici di `Collection` nel parametro `OutputKey`. Per un esempio, consulta [Passare caratteri non alfanumerici all’interno di `Collection` per `Fn::ForEach`](intrinsic-function-reference-foreach-example-resource.md#intrinsic-function-reference-foreach-example-non-alphanumeric).

*Valore di output*  
Il valore che viene replicato nel modello trasformato per ogni elemento del parametro `Collection`. Ad esempio, se `Fn::ForEach` viene utilizzato nella sezione `Resources` del modello, questo è il frammento del modello che viene ripetuto per configurare ogni risorsa.

## Valore restituito
<a name="intrinsic-function-reference-foreach-return-value"></a>

Un oggetto espanso che contiene il frammento dell’oggetto ripetuto una volta per ogni elemento della raccolta, in cui l’identificatore nel frammento viene sostituito con l’elemento della raccolta.

## Funzioni supportate
<a name="intrinsic-function-reference-foreach-nested-functions"></a>

È possibile utilizzare le funzioni seguenti in una funzione `Fn::ForEach`.
+ Funzioni di condizione:
  + [`Fn::And`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-and)
  + [`Fn::Equals`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-equals)
  + [`Fn::If`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-if)
  + [`Fn::Not`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-not)
  + [`Fn::Or`](intrinsic-function-reference-conditions.md#intrinsic-function-reference-conditions-or)
+ [`Fn::Base64`](intrinsic-function-reference-base64.md)
+ [`Fn::FindInMap`](intrinsic-function-reference-findinmap.md)
+ [`Fn::GetAtt`](intrinsic-function-reference-getatt.md)
+ [`Fn::GetAZs`](intrinsic-function-reference-getavailabilityzones.md)
+ [`Fn::ImportValue`](intrinsic-function-reference-importvalue.md)
+ [`Fn::Join`](intrinsic-function-reference-join.md)
+ [`Fn::Length`](intrinsic-function-reference-length.md)
+ [`Fn::Transform`](intrinsic-function-reference-transform.md)
+ [`Fn::Select`](intrinsic-function-reference-select.md)
+ [`Fn::Sub`](intrinsic-function-reference-sub.md)
+ [`Fn::ToJsonString`](intrinsic-function-reference-ToJsonString.md)
+ [`Ref`](intrinsic-function-reference-ref.md)

## Esempi
<a name="intrinsic-function-reference-foreach-example-pointer"></a>

Puoi trovare esempi delle sezioni `Conditions`, `Outputs` e `Resources` in [Esempi](intrinsic-function-reference-foreach-examples.md).