

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

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

# AWS CDK CLI 命令参考
<a name="ref-cli-cmd"></a>

本节包含 C AWS loud Development Kit (AWS CDK) 命令行接口 (CLI) 的命令参考信息。CDK CLI 也称为 CDK 工具包。

## 用法
<a name="ref-cli-cmd-usage"></a>

```
$ cdk <command> <arguments> <options>
```

## 命令
<a name="ref-cli-cmd-commands"></a><a name="ref-cli-cmd-commands-acknowledge"></a>

 ` acknowledge ack `   
按问题编号确认通知，并将其隐藏，以免再次显示。<a name="ref-cli-cmd-commands-bootstrap"></a>

 ` bootstrap `   
通过将 CDK 引导堆栈（名为）部署到 AWS 环境中`CDKToolkit`，为 CDK 部署做好准备。 AWS <a name="ref-cli-cmd-commands-context"></a>

 ` context `   
管理 CDK 应用程序的缓存上下文值。<a name="ref-cli-cmd-commands-deploy"></a>

 ` deploy `   
将一个或多个 CDK 堆栈部署到您的 AWS 环境中。<a name="ref-cli-cmd-commands-destroy"></a>

 ` destroy `   
从您的 AWS 环境中删除一个或多个 CDK 堆栈。<a name="ref-cli-cmd-commands-diff"></a>

 ` diff `   
执行 diff 以查看 CDK 堆栈之间的基础设施更改。<a name="ref-cli-cmd-commands-docs"></a>

 ` docs doc `   
在浏览器中打开 CDK 文档。<a name="ref-cli-cmd-commands-doctor"></a>

 ` doctor `   
检查并显示有关您本地 CDK 项目和开发环境的有用信息。<a name="ref-cli-cmd-commands-drift"></a>

 ` drift `   
检测您使用 CDK 定义、管理和部署的资源的配置偏差。<a name="ref-cli-cmd-commands-flags"></a>

 ` flags `   
查看和修改 CDK CLI 的功能标志配置。<a name="ref-cli-cmd-commands-import"></a>

 ` import `   
使用 AWS CloudFormation 资源导入将现有 AWS 资源导入 CDK 堆栈。<a name="ref-cli-cmd-commands-init"></a>

 ` init `   
从模板中创建新的 CDK 项目。<a name="ref-cli-cmd-commands-list"></a>

 ` list, ls `   
列出 CDK 应用程序中的所有 CDK 堆栈及其依赖项。<a name="ref-cli-cmd-commands-metadata"></a>

 ` metadata `   
显示与 CDK 堆栈关联的元数据。<a name="ref-cli-cmd-commands-migrate"></a>

 ` migrate `   
将 AWS 资源、 AWS CloudFormation 堆栈和 AWS CloudFormation 模板迁移到新的 CDK 项目中。<a name="ref-cli-cmd-commands-notices"></a>

 ` notices `   
显示您 CDK 应用程序的通知。<a name="ref-cli-cmd-commands-publish-assets"></a>

 ` publish-assets `   
无需执行部署即可将指定 CDK 堆栈的资源发布到各自的目的地。<a name="ref-cli-cmd-commands-refactor"></a>

 ` refactor `   
在 CDK 应用程序中重构代码时，请保留已部署的资源。<a name="ref-cli-cmd-commands-synthesize"></a>

 ` synthesize, synth `   
合成 CDK 应用程序以生成云程序集，包括每个堆栈的 AWS CloudFormation 模板。<a name="ref-cli-cmd-commands-watch"></a>

 ` watch `   
持续关注本地 CDK 项目的变更，以执行部署和热交换。

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

以下选项与所有 CDK CLI 命令都兼容。<a name="ref-cli-cmd-options-app"></a>

 `--app, -a <STRING>`   
提供运行应用程序或云程序集目录的命令。  
 *是否必需*：是<a name="ref-cli-cmd-options-asset-metadata"></a>

 `--asset-metadata <BOOLEAN>`   
包括使用资产的资源的`aws:asset:*` AWS CloudFormation 元数据。  
 *必需*：否  
 *默认值*：`true`<a name="ref-cli-cmd-options-build"></a>

 `--build <STRING>`   
用于运行合成前版本的命令。  
 *必需*：否<a name="ref-cli-cmd-options-ca-bundle-path"></a>

 `--ca-bundle-path <STRING>`   
验证 HTTPS 请求时要使用的 CA 证书的路径。  
如果未提供此选项，则 CDK CLI 将从 `AWS_CA_BUNDLE` 环境变量中读取。  
 *是否必需*：是<a name="ref-cli-cmd-options-ci"></a>

 `--ci <BOOLEAN>`   
表明 CDK CLI 命令正在持续集成（CI）环境中运行。  
此选项可修改 CDK CLI 的行为，以更好地适应 CI 管线中常见的自动化操作。  
当提供此选项时，日志将发送到 `stdout` 而非 `stderr`。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-context"></a>

 `--context, -c <ARRAY>`   
将上下文字符串添加为键值对。<a name="ref-cli-cmd-options-debug"></a>

 `--debug <BOOLEAN>`   
启用详细调试信息功能。此选项会生成详细输出，其中包含有关 CDK CLI 在后台所执行操作的更多详细信息。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-ec2creds"></a>

 `--ec2creds, -i <BOOLEAN>`   
强制 CDK CLI 尝试获取 Amazon EC2 实例凭证。  
默认情况下，CDK CLI 会猜测 Amazon EC2 实例状态。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-help"></a>

 `--help, -h <BOOLEAN>`   
显示 CDK CLI 的命令参考信息。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-ignore-errors"></a>

 `--ignore-errors <BOOLEAN>`   
忽略合成错误，这可能会产生无效的输出。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-json"></a>

 `--json, -j <BOOLEAN>`   
对于打印到标准输出的 AWS CloudFormation 模板，请使用 JSON 而不是 YAML (`stdout`)。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-lookups"></a>

 `--lookups <BOOLEAN>`   
执行上下文查找。  
如果此值为 `false`，并且需要执行上下文查找，则合成将失败。  
 *必需*：否  
 *默认值*：`true`<a name="ref-cli-cmd-options-no-color"></a>

 `--no-color <BOOLEAN>`   
从控制台输出中删除颜色和其他样式。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-notices"></a>

 `--notices <BOOLEAN>`   
显示相关通知。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-output"></a>

 `--output, -o <STRING>`   
指定输出合成云程序集的目录。  
 *是否必需*：是  
 *默认值*：`cdk.out`<a name="ref-cli-cmd-options-path-metadata"></a>

 `--path-metadata <BOOLEAN>`   
包括每种资源的`aws::cdk::path` AWS CloudFormation 元数据。  
 *必需*：否  
 *默认值*：`true`<a name="ref-cli-cmd-options-plugin"></a>

 `--plugin, -p <ARRAY>`   
扩展 CDK 功能的 node 软件包的名称或路径。可以在单个命令中多次提供此选项。  
您可以在项目的 `cdk.json` 文件中或本地开发计算机上的 `~/.cdk.json` 中配置此选项：  

```
{
   // ...
   "plugin": [
      "module_1",
      "module_2"
   ],
   // ...
}
```
 *必需*：否<a name="ref-cli-cmd-options-profile"></a>

 `--profile <STRING>`   
指定要用于 CDK CLI 的 AWS 配置文件名称，其中包含您的 AWS 环境信息。  
 *是否必需*：是<a name="ref-cli-cmd-options-proxy"></a>

 `--proxy <STRING>`   
使用指定的代理。  
如果未提供此选项，则 CDK CLI 将从 `HTTPS_PROXY` 环境变量中读取。  
 *是否必需*：是  
 *默认值*：从 `HTTPS_PROXY` 环境变量读取。<a name="ref-cli-cmd-options-role-arn"></a>

 `--role-arn, -r <STRING>`   
CDK CLI 在与之交互时将担任的 IAM 角色的 ARN。 AWS CloudFormation  
 *必需*：否<a name="ref-cli-cmd-options-staging"></a>

 `--staging <BOOLEAN>`   
将资产复制到输出目录。  
指定 `false`，以防止将资产复制到输出目录。这允许 AWS SAM CLI 在执行本地调试时引用原始源文件。  
 *必需*：否  
 *默认值*：`true`<a name="ref-cli-cmd-options-strict"></a>

 `--strict <BOOLEAN>`   
不要构造包含警告的堆栈。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-trace"></a>

 `--trace <BOOLEAN>`   
打印堆栈警告的跟踪。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-verbose"></a>

 `--verbose, -v <COUNT>`   
显示调试日志。您可以多次指定该选项以增加详细程度。  
 *必需*：否<a name="ref-cli-cmd-options-version"></a>

 `--version <BOOLEAN>`   
显示 CDK CLI 版本号。  
 *必需*：否  
 *默认值*：`false`<a name="ref-cli-cmd-options-version-reporting"></a>

 `--version-reporting <BOOLEAN>`   
将` AWS::CDK::Metadata`资源包含在合成 AWS CloudFormation 模板中。  
 *必需*：否  
 *默认值*：`true`

## 提供和配置选项
<a name="ref-cli-cmd-configure"></a>

您可以通过命令行参数传递选项。对于大多数选项，您可以在 `cdk.json` 配置文件中对其进行配置。当您使用多个配置源时，CDK CLI 会遵循以下优先级：

1.  **命令行值**：命令行中提供的任何选项都会覆盖 `cdk.json` 文件中配置的选项。

1.  **项目配置文件**：CDK 项目目录中的 `cdk.json` 文件。

1.  **用户配置文件**：位于本地计算机 `~/.cdk.json` 中的 `cdk.json` 文件。

## 在命令行传递选项
<a name="ref-cli-cmd-pass"></a><a name="ref-cli-cmd-pass-bool"></a>

 **传递布尔值**   
对于接受布尔值的选项，通过以下方式进行指定：  
+ 使用 `true` 和 `false` 值：使用命令提供布尔值。以下是示例：

  ```
  $ cdk deploy --watch=true
  $ cdk deploy --watch=false
  ```
+ 提供选项的对应项：通过添加 `no` 来修改选项名称，以指定 `false` 值。以下是示例：

  ```
  $ cdk deploy --watch
  $ cdk deploy --no-watch
  ```
+ 对于默认为 `true` 或 `false` 的选项，除非要更改默认值，否则不必提供该选项。