Fn::ForEach - AWS CloudFormation

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.

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

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 AWS::LanguageExtensionsTrasformazione .

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 Understand CloudFormation quotas nella Guida per l’utente di AWS CloudFormation.

Dichiarazione

JSON

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

YAML

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

Parametri

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 modello CloudFormation 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 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.

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

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

È possibile utilizzare le funzioni seguenti in una funzione Fn::ForEach.

Esempi

Puoi trovare esempi delle sezioni Conditions, Outputs e Resources in Esempi.