

# CloudFormation 模板 Transform 部分
<a name="transform-section-structure"></a>

可选的 `Transform` 部分指定 CloudFormation 用来以某种方式处理模板的一个或多个宏。

宏可以执行查找和替换文本等简单任务，也可以对整个模板进行更广泛的转换。CloudFormation 按照指定的顺序执行宏。当您创建更改集时，CloudFormation 会生成一个包含已处理模板内容的更改集。然后，您可以查看更改并执行更改集。有关宏工作原理的更多信息，请参阅[使用模板宏对 CloudFormation 模板执行自定义处理](template-macros.md)。

CloudFormation 还支持*转换*，后者是由 CloudFormation 托管的宏。在执行顺序和范围方面，CloudFormation 以相同的方法处理转换以及您创建的任何宏。有关更多信息，请参阅[转换参考](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/transform-reference.html)。

要声明多个宏，请使用列表格式并指定一个或多个宏。

例如，在下面的模板示例中，CloudFormation 会首先评估 `MyMacro`，然后再评估 `AWS::Serverless`，并且两者都可以处理整个模板的内容，因为它们包含在 `Transform` 部分中。

```
# Start of processable content for MyMacro and AWS::Serverless
Transform:
  - MyMacro
  - 'AWS::Serverless'
Resources:
  WaitCondition:
    Type: AWS::CloudFormation::WaitCondition
  MyBucket:
    Type: AWS::S3::Bucket
    Properties: 
      BucketName: amzn-s3-demo-bucket
      Tags: [{"key":"value"}]
      CorsConfiguration: []
  MyEc2Instance:
    Type: AWS::EC2::Instance 
    Properties:
      ImageId: ami-1234567890abcdef0
# End of processable content for MyMacro and AWS::Serverless
```