

这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段，并于 2023 年 6 月 1 日终止支持。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# `cdk synthesize`
<a name="ref-cli-cmd-synth"></a>

合成 CDK 应用程序以生成云程序集，包括每个堆栈的 AWS CloudFormation 模板。

云程序集是包含将应用程序部署到 AWS 环境所需的所有内容的文件。例如，它包括应用程序中每个堆栈的 CloudFormation 模板，以及在应用程序中引用的文件资产或 Docker 映像的副本。

如果您的应用程序包含单个堆栈或提供单个堆栈作为参数，则 CloudFormation 模板也将以 YAML 格式显示在标准输出 (`stdout`) 中。

如果您的应用程序包含多个堆栈，则 `cdk synth` 会将云程序集合成为 `cdk.out`。

## 使用量
<a name="ref-cli-cmd-synth-usage"></a>

```
cdk synthesize <arguments> <options>
```

## 参数
<a name="ref-cli-cmd-synth-args"></a><a name="ref-cli-cmd-synth-args-stack-name"></a>

 **CDK 堆栈 ID**   
应用中要合成的 CDK 堆栈的构造 ID。  
 *类型*：字符串  
 *必需*：否

## 选项
<a name="ref-cli-cmd-synth-options"></a>

有关适用于所有 CDK CLI 命令的全局选项的列表，请参阅[全局选项](ref-cli-cmd.md#ref-cli-cmd-options)。<a name="ref-cli-cmd-synth-options-exclusively"></a>

 `--exclusively, -e <BOOLEAN>`   
仅合成请求的堆栈，不包括依赖项。<a name="ref-cli-cmd-synth-options-help"></a>

 `--help, -h <BOOLEAN>`   
显示 `cdk synthesize` 命令的命令参考信息。<a name="ref-cli-cmd-synth-options-quiet"></a>

 `--quiet, -q <BOOLEAN>`   
请勿将 CloudFormation 模板输出到 `stdout`。  
可以在 CDK 项目的 `cdk.json` 文件中配置此选项。以下是示例：  

```
{
   "quiet": true
}
```
 *默认值*：`false`<a name="ref-cli-cmd-synth-options-validation"></a>

 `--validation <BOOLEAN>`   
通过执行其他检查来验证合成后生成的 CloudFormation 模板。  
您也可以通过 `validateOnSynth` 属性或 `CDK_VALIDATION` 环境变量来配置此选项。  
 *默认值*：`true`

## 示例
<a name="ref-cli-cmd-synth-examples"></a>

### 合成逻辑 ID 为 MyStackName 的 CDK 堆栈的云程序集，然后将 CloudFormation 模板输出到 stdout
<a name="ref-cli-cmd-synth-examples-1"></a>

```
$ cdk synth MyStackName
```

### 合成 CDK 应用程序中的所有堆栈的云程序集，并将其保存到 cdk.out
<a name="ref-cli-cmd-synth-examples-2"></a>

```
$ cdk synth
```

### 合成 MyStackName 的云程序集，但不包括依赖项
<a name="ref-cli-cmd-synth-examples-3"></a>

```
$ cdk synth MyStackName --exclusively
```

### 合成 MyStackName 的云程序集，但请勿将 CloudFormation 模板输出到 stdout
<a name="ref-cli-cmd-synth-examples-4"></a>

```
$ cdk synth MyStackName --quiet
```