Fn::Transform
Die intrinsische Funktion Fn::Transform
spezifiziert ein Makro, um eine benutzerdefinierte Verarbeitung auf einem Teil einer Stack-Vorlage durchzuführen. Verwenden Sie Makros, um benutzerdefinierte Verarbeitungen von Vorlagen durchzuführen – von einfachen Aktionen wie Suchen und Ersetzen bis hin zu umfangreichen Transformationen ganzer Vorlagen. Weitere Informationen finden Sie unter Verwenden von AWS CloudFormation-Makros zum Durchführen der benutzerdefinierten Verarbeitung von Vorlagen.
Sie können mit Fn::Transform
auch die Transformation AWS::Include-Transformation
aufrufen, bei der es sich um ein Makro handelt, das von AWS CloudFormation gehostet wird.
Deklaration
JSON
Syntax für den vollständigen Funktionsnamen:
{ "Fn::Transform": { "Name": "
macro name
", "Parameters": { "Key
": "value
" } } }
Syntax für die Kurzform:
{ "Transform": { "Name": "
macro name
", "Parameters": { "Key
": "value
" } } }
YAML
Syntax für den vollständigen Funktionsnamen:
Fn::Transform: Name :
macro name
Parameters :Key
:value
Syntax für die Kurzform:
Transform: Name:
macro name
Parameters:Key
:value
Parameter
- Name
-
Der Name des Makros, das Sie für die Verarbeitung verwenden möchten.
- Parameter
-
Die Listenparameter, die als Schlüssel-Wert-Paare angegeben sind, werden an das Makro übergeben.
Rückgabewert
Der bearbeitete Vorlagenausschnitt, der in die bearbeitete Stack-Vorlage aufgenommen werden soll.
Beispiele
Das folgende Beispiel ruft die AWS::Include
-Transformation auf und gibt an, dass im Parameter InputValue
der Ort übergeben wird, an dem ein Vorlagenausschnitt abgerufen werden soll.
JSON
{ "Fn::Transform" : { "Name" : "AWS::Include", "Parameters" : { "Location" : { "Ref" : "InputValue" } } } }
YAML
'Fn::Transform': Name: 'AWS::Include' Parameters: {Location: {Ref: InputValue}}
Das folgende Beispiel ruft die Transformation AWS::Include
auf und gibt an, dass sich der Ort, an dem ein Vorlagenausschnitt abgerufen werden soll, in der RegionMap
-Zuordnung unter dem Schlüssel us-east-1
und dem verschachtelten Schlüssel s3Location
befindet.
JSON
{ "Fn::Transform" : { "Name" : "AWS::Include", "Parameters" : { "Location" : {"Fn::FindInMap" : ["RegionMap", "us-east-1", "s3Location"] } } } }
YAML
'Fn::Transform': Name: 'AWS::Include' Parameters: {Location: {'Fn::FindInMap': [RegionMap, us-east-1, s3Location]}}
Unterstützte Funktionen
Keine. CloudFormation übergibt alle in Fn::Transform
enthaltenen intrinsischen Funktionsaufrufe an das angegebene Makro als Literalzeichenfolgen. Weitere Informationen finden Sie unter AWS CloudFormation-Makro-Funktionsschnittstelle.