

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護，並於 2023 年 6 月 1 日結束支援。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

本節包含 AWS 雲端開發套件 (AWS CDK) 命令列界面 (CLI) 的命令參考資訊。CDK CLI 也稱為 CDK Toolkit。

## Usage
<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 `   
在您的 AWS 環境中部署一或多個 CDK 堆疊。<a name="ref-cli-cmd-commands-destroy"></a>

 ` destroy `   
從 AWS 環境中刪除一或多個 CDK 堆疊。<a name="ref-cli-cmd-commands-diff"></a>

 ` 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 `   
Use 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 應用程式以產生雲端組件，包括每個堆疊的 an 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>`   
使用 JSON 而非列印到標準輸出的 YAML for AWS CloudFormation 範本 (`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 功能的節點套件名稱或路徑。此選項可在單一命令中提供多次。  
您可以在專案的 `cdk.json` 檔案或本機開發機器`~/.cdk.json`的 中設定此選項：  

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

 `--profile <STRING>`   
指定 AWS 設定檔的名稱，其中包含要與 CDK CLI 搭配使用 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>`   
與 AWS CloudFormation 互動時，CDK CLI 將擔任之 IAM 角色的 ARN。  
 *必要*：否<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 CloudFormation 範本中包含 ` AWS::CDK::Metadata` 資源。  
 *必要*：否  
 *預設值*：`true`

## 提供和設定選項
<a name="ref-cli-cmd-configure"></a>

您可以透過命令列引數傳遞選項。對於大多數選項，您可以在`cdk.json`組態檔案中設定它們。當您使用多個組態來源時，CDK CLI 會遵循下列優先順序：

1.  **命令列值** – 命令列提供的任何選項都會覆寫`cdk.json`檔案中設定的選項。

1.  **專案組態檔案** – `cdk.json` CDK 專案目錄中的檔案。

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`，您不需要提供 選項，除非您想要從預設值變更。