

这是新的《CloudFormation 模板参考指南》**。请更新您的书签和链接。有关开始使用 CloudFormation 的帮助，请参阅《AWS CloudFormation 用户指南》[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)。

# `Fn::Transform`
<a name="intrinsic-function-reference-transform"></a>

内部函数 `Fn::Transform` 指定一个宏以对堆栈模板的一部分执行自定义处理。通过使用宏，您可以对模板执行自定义处理，包括查找并替换操作等简单操作以及整个模板的大型转换。有关更多信息，请参阅《AWS CloudFormation 用户指南》**中的[使用 CloudFormation 宏对模板执行自定义处理](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html)。

您也可以使用 `Fn::Transform` 调用 [`AWS::Include` 转换](transform-aws-include.md) 转换，这是 CloudFormation 托管的宏。

## 声明
<a name="intrinsic-function-reference-transform-declaration"></a>

### JSON
<a name="intrinsic-function-reference-transform-syntax.json"></a>

完整函数名称的语法：

```
{
    "Fn::Transform": {
        "Name": "macro name",
        "Parameters": {
            "Key": "value"
        }
    }
}
```

短格式的语法：

```
{
    "Transform": {
        "Name": "macro name",
        "Parameters": {
            "Key": "value"
        }
    }
}
```

### YAML
<a name="intrinsic-function-reference-transform-syntax.yaml"></a>

完整函数名称的语法：

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

短格式的语法：

```
!Transform
  Name: macro name
  Parameters:
    Key: value
```

## 参数
<a name="intrinsic-function-reference-transform-parameters"></a>

`Name`  
要执行处理的宏的名称。

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

## 返回值
<a name="intrinsic-function-reference-transform-returnvalue"></a>

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

## 示例
<a name="intrinsic-function-reference-transform-examples"></a>

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

### JSON
<a name="intrinsic-function-reference-transform-example-1.json"></a>

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

### YAML
<a name="intrinsic-function-reference-transform-example-1.yaml"></a>

```
Fn::Transform:
  Name: AWS::Include
  Parameters:
    Location: !Ref InputValue
```

## 支持的函数
<a name="intrinsic-function-reference-transform-supported-functions"></a>

无。

CloudFormation 将 `Fn::Transform` 中包含的任何内部函数调用作为文本字符串传递到指定的宏。