Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fn::ForEach
La fonction intrinsèque Fn::ForEach
prend une collection et un fragment, et applique les éléments de la collection à l'identifiant du fragment fourni. Fn::ForEach
peut contenir d'autres fonctions intrinsèques, y compris Fn::ForEach
elle-même, et être utilisée dans les sections Conditions, Outputs, Resources (y compris les propriétés des ressources). Elle ne peut pas être utilisée dans les sections Version de format, Description, Metadata, Transform, Parameters, Mappings, Rules ou Hooks
. Pour obtenir des exemples, consultez Exemples.
Important
Vous devez utiliser la transformation Transformation AWS::LanguageExtensions pour utiliser la fonction intrinsèque Fn::ForEach
.
Important
L'utilisation de la fonction intrinsèque Fn::ForEach
ne modifie pas les quotas qui s'appliquent au modèle obtenu. Les quotas incluent la taille maximale et le nombre maximal de ressources d'un modèle. Pour de plus amples informations, veuillez consulter Comprendre les CloudFormation quotas.
Déclaration
JSON
"Fn::ForEach::UniqueLoopName
": [
"Identifier
",
["Value1","Value2"], // Collection
{"OutputKey
": {OutputValue
}}
]
YAML
'Fn::ForEach::UniqueLoopName
':
- Identifier
- - Value1
# Collection
- Value2
- 'OutputKey
':
OutputValue
Paramètres
UniqueLoopName
-
Nom de cette boucle. Le nom doit être unique dans le modèle et ne doit pas entrer en conflit avec les valeurs d'ID logiques de la section CloudFormation modèle Resources syntaxe du modèle. Ce nom ne figure pas dans la sortie transformée.
Identifier
-
Identifiant que vous souhaitez remplacer dans les paramètres
etOutputKey
qui représentent le fragment de modèle répliqué. Toutes les instancesOutputValue
${Identifier}
de ou&{Identifier}
dans les
paramètresOutputValue
et sont remplacées par les valeurs duOutputKey
paramètre.Collection
Collection
-
La collection de valeurs sur laquelle itérer. Il peut s'agir d'un tableau dans ce paramètre, ou il peut s'agir d'une fonction intrinsèque
Ref
àCommaDelimitedList
. Lorsque vous utilisez le&{Identifier}
, des caractères non alphanumériques peuvent être transmis dans le.Collection
OutputKey
-
La clé du modèle transformé.
${Identifier}
ou&{Identifier}
doit être inclus dans le
paramètre. Par exemple, si la fonction intrinsèqueOutputKey
Fn::ForEach
est utilisée dans la section Resources du modèle, il s'agit de l'ID logique de chaque ressource.La
&{}
syntaxe autorise l'utilisation de caractères non alphanumériques dans leCollection
paramètre.
Pour un exemple de cela, voirTransmission de caractères non alphanumériques dans le formulaire CollectionFn::ForEach.OutputKey
OutputValue
-
La valeur qui est répliquée dans le modèle transformé pour chaque élément du paramètre
. Par exemple, si la fonction intrinsèqueCollection
Fn::ForEach
est utilisée dans la section Resources du modèle, il s'agit du fragment de modèle qui est répété pour configurer chaque ressource.
Valeur renvoyée
Objet développé qui contient le fragment d'objet répété une fois pour chaque élément de la collection, où l'identifiant du fragment est remplacé par l'élément de la collection.
Fonctions prises en charge
Vous pouvez utiliser les fonctions suivantes dans la fonction intrinsèque Fn::ForEach
.
-
Fonctions de condition :
Exemples
Pour obtenir des exemples, consultez Exemples.