Fn::ForEach - AWS CloudFormation

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 Resources der 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 OutputKey und OutputValue ersetzt wird. Alle Instances von ${Identifier} oder &{Identifier} in den Parametern OutputKey und OutputValue werden durch die Werte des Parameters Collection ersetzt.

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 in Collectionauch nicht-alphanumerische Zeichen eingeben.

Ausgabe-Taste

Der Schlüssel in der transformierten Vorlage. ${Identifier} oder &{Identifier} muss im Parameter OutputKey enthalten sein. Wenn zum Beispiel Fn::ForEach im Abschnitt Resources der Vorlage verwendet wird, ist dies die logische ID jeder Ressource.

Die &{}-Syntax erlaubt die Verwendung von nicht-alphanumerischen Zeichen im Collection-Parameter für den OutputKey-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 Collection repliziert wird. Wenn zum Beispiel Fn::ForEach im Abschnitt Resources der 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.

Beispiele

Beispiele für die Abschnitte,Conditions Outputsund Resources finden Sie in Beispiele.