Dies ist das neue CloudFormation Template Reference Guide. Bitte aktualisieren Sie Ihre Lesezeichen und Links. Hilfe bei den ersten Schritten mit CloudFormation finden Sie im AWS CloudFormation Benutzerhandbuch.
Fn::ForEach
Die intrinsische Funktion Fn::ForEach nimmt eine Sammlung und ein Fragment und wendet die Elemente in der Sammlung auf den Bezeichner im angegebenen Fragment an. Fn::ForEach kann andere intrinsische Funktionen enthalten, einschließlich Fn::ForEach selbst, und innerhalb der Abschnitte,Conditions Outputsund Resources (einschließlich der Ressourceneigenschaften) verwendet werden. Es kann in keinem der folgenden Abschnitte verwendet werden:,AWSTemplateFormatVersion,Description,Metadata,Transform,Parameters,Mappings Rulesoder Hooks Abschnitte.
Wenn Sie die intrinsische Funktion Fn::ForEach in Ihrer Vorlage verwenden, müssen Sie auch die Funktion AWS::LanguageExtensions-Transformation verwenden.
Die Verwendung der intrinsischen Funktion Fn::ForEach hat keine Auswirkungen auf die geltenden Kontingente für die resultierende Vorlage. Kontingente beinhalten die maximale Größe einer Vorlage und die maximale Anzahl von Ressourcen in einer Vorlage. Weitere Informationen finden Sie unter Verstehen CloudFormation Quoten im AWS CloudFormation Benutzerhandbuch.
Deklaration
JSON
"Fn::ForEach::LoopLogicalName": [
"Identifier",
["Value1","Value2"], // Collection
{"OutputKey": {OutputValue}}
]
YAML
'Fn::ForEach::LoopLogicalName':
- Identifier
- - Value1 # Collection
- Value2
- 'OutputKey':
OutputValue
Parameter
- Logischer Name der Schleife
-
Eine logische ID für die Schleife. Der Name muss innerhalb der Vorlage eindeutig sein und darf nicht mit den logischen ID-Werten im Abschnitt
Resourcesder Vorlage kollidieren. Dieser Name ist nicht in der transformierten Ausgabe enthalten. Sie wird für die interne Referenz innerhalb der CloudFormation-Vorlage selbst verwendet. - Kennung
-
Ein Bezeichner für den Platzhalter, der in den Parametern
OutputKeyundOutputValueersetzt wird. Alle Instances von${Identifier}oder&{Identifier}in den ParameternOutputKeyundOutputValuewerden durch die Werte des ParametersCollectionersetzt. - Sammlung
-
Die Sammlung von Werten, über die iteriert werden soll. Dies kann ein Array in diesem Parameter sein oder ein Ref zu einem
CommaDelimitedList. Wenn Sie&{Identifier}verwenden, können Sie inCollectionauch nicht-alphanumerische Zeichen eingeben. - Ausgabe-Taste
-
Der Schlüssel in der transformierten Vorlage.
${Identifier}oder&{Identifier}muss im ParameterOutputKeyenthalten sein. Wenn zum BeispielFn::ForEachim AbschnittResourcesder Vorlage verwendet wird, ist dies die logische ID jeder Ressource.Die
&{}-Syntax erlaubt die Verwendung von nicht-alphanumerischen Zeichen imCollection-Parameter für denOutputKey-Parameter. Ein Beispiel hierfür finden Sie unter Übergabe von nicht-alphanumerischen Zeichen innerhalb der Collection für Fn::ForEach. - Ausgabewert
-
Der Wert, der in der transformierten Vorlage für jedes Element im Parameter
Collectionrepliziert wird. Wenn zum BeispielFn::ForEachim AbschnittResourcesder Vorlage verwendet wird, ist dies das Vorlagenfragment, das zur Konfiguration jeder Ressource wiederholt wird.
Rückgabewert
Ein erweitertes Objekt, das das Objektfragment enthält, das für jedes Element in der Sammlung einmal wiederholt wird, wobei die Kennung im Fragment durch das Element aus der Sammlung ersetzt wird.
Unterstützte Funktionen
Sie können die folgenden Funktionen in Fn::ForEach verwenden.
-
Bedingungsfunktionen:
Beispiele
Beispiele für die Abschnitte,Conditions Outputsund Resources finden Sie in Beispiele.