Il s'agit du nouveau guide CloudFormation de référence des modèles. Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le guide de AWS CloudFormation l'utilisateur.
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 Fn::ForEach intrinsèque prend une collection et un fragment, et applique les éléments de la collection à l'identifiant du fragment fourni. Fn::ForEachpeut contenir d'autres fonctions intrinsèques, y compris Fn::ForEach elle-même, et être utilisé dans les sections ConditionsOutputs, et Resources (y compris les propriétés des ressources). Il ne peut être utilisé dans aucune des sections,AWSTemplateFormatVersion,Description,Metadata,Transform, Parameters MappingsRules, ou Hooks sections suivantes.
Si vous utilisez la fonction Fn::ForEach intrinsèque dans votre modèle, vous devez également utiliser leTransformation AWS::LanguageExtensions.
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 plus d'informations, voir Comprendre les CloudFormation quotas dans le guide de AWS CloudFormation l'utilisateur.
Déclaration
JSON
"Fn::ForEach::LoopLogicalName": [
"Identifier",
["Value1","Value2"], // Collection
{"OutputKey": {OutputValue}}
]
YAML
'Fn::ForEach::LoopLogicalName':
- Identifier
- - Value1 # Collection
- Value2
- 'OutputKey':
OutputValue
Paramètres
- Nom logique de la boucle
-
Identifiant logique pour la boucle. Le nom doit être unique dans le modèle et ne doit pas entrer en conflit avec les valeurs d'identification logiques de la
Resourcessection du modèle. Ce nom ne figure pas dans la sortie transformée. Il est utilisé comme référence interne dans le CloudFormation modèle lui-même. - Identifiant
-
Identifiant de l'espace réservé qui est remplacé dans les
OutputValueparamètresOutputKeyet. Toutes les instances desOutputValueparamètresOutputKeyet${Identifier}ou présentes&{Identifier}dans ces paramètres seront remplacées par les valeurs duCollectionparamètre. - 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. Lors de l'utilisation&{Identifier}, des caractères non alphanumériques peuvent être transmis dans le.Collection - Clé de sortie
-
La clé du modèle transformé.
${Identifier}ou&{Identifier}doit être inclus dans leOutputKeyparamètre. Par exemple, s'ilFn::ForEachest utilisé dans laResourcessection du modèle, il s'agit de l'identifiant logique de chaque ressource.La
&{}syntaxe autorise l'utilisation de caractères non alphanumériques dans leCollectionparamètre.OutputKeyPour un exemple de cela, voirTransmission de caractères non alphanumériques dans le formulaire CollectionFn::ForEach. - Valeur de sortie
-
Valeur répliquée dans le modèle transformé pour chaque élément du
Collectionparamètre. Par exemple, s'ilFn::ForEachest utilisé dans laResourcessection 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
Vous trouverez des exemples pour les Resources sections ConditionsOutputs, et dansExemples.