AWS CloudFormation
用户指南 (API 版本 2010-05-15)

Fn::Transform

内部函数 Fn::Transform 指定一个宏以对堆栈模板的一部分执行自定义处理。通过使用宏,您可以对模板执行自定义处理,包括查找并替换操作等简单操作以及整个模板的大型转换。有关更多信息,请参阅 使用 AWS CloudFormation 宏对模板执行自定义处理

您也可以使用 Fn::Transform 调用 AWS::Include 转换 转换,这是 AWS CloudFormation 托管的宏。

声明

JSON

{ "Fn::Transform" : { "Name" : macro name, "Parameters" : {key : value, ... } } }

YAML

完整函数名称的语法:

Fn::Transform: Name : macro name Parameters : Key : value

短格式的语法:

!Transform { "Name" : macro name, "Parameters" : {key : value, ... } }

参数

Name

要执行处理的宏的名称。

Parameters

要传递给宏的列表参数,指定为键值对。

返回值

要包含在处理的堆栈模板中的已处理模板代码段。

示例

以下示例调用 AWS::Include 转换,并指定从中检索模板代码段的位置是在 InputValue 参数中传递的。

JSON

{ "Fn::Transform" : { "Name" : "AWS::Include", "Parameters" : { "Location" : { "Ref" : "InputValue" } } } }

YAML

'Fn::Transform': Name: 'AWS::Include' Parameters: {Location: {Ref: InputValue}}

以下示例调用 AWS::Include 转换,并指定从中检索模板代码段的位置位于 RegionMap 映射中的 us-east-1 键和嵌套键 s3Location 下面。

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]}}

支持的函数

无。AWS CloudFormation 将 Fn::Transform 中包含的任何内部函数调用作为文本字符串传递到指定的宏。有关更多信息,请参阅 AWS CloudFormation 宏函数接口