這是 AWS CDK v2 開發人員指南。較舊的 CDK 第 1 版已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
cdk diff
執行差異以查看 AWS CDK 堆疊之間的基礎結構變更。
此命令通常用於比較本地 CDK 應用程序中堆棧的當前狀態與部署的堆棧之間的差異。不過,您也可以將已部署的堆疊與任何本機 AWS CloudFormation 範本進行比較。
用量
$
cdk diff
<arguments>
<options>
引數
- CDK 堆疊邏輯識別碼
-
您的應用程序中用於執行差異的 CDK 堆棧的邏輯 ID。
類型:字串
必要:否
選項
如需與所有 CDK CLI 指令搭配使用的全域選項清單,請參閱全域選項。
--change-set
BOOLEAN
-
指定是否建立變更集來分析資源取代。
此時
true
,CDK CLI 會建立 AWS CloudFormation 變更集,以顯示將對堆疊進行的確切變更。此輸出包括是否要更新或取代資源。CDK CLI 會使用部署角色而非查詢角色來執行此動作。何時
false
,通過比較 CloudFormation 模板來執行更快但不準確的差異。對需要資源取代的屬性偵測到的任何變更都會顯示為資源取代,即使變更純粹是外觀,例如以硬式編碼的 ARN 取代資源參照。預設值:
true
--context-lines
NUMBER
-
要包含在任意 JSON 差異轉譯中的內容行數。
預設值:
3
--exclusively, -e
BOOLEAN
-
只有差異請求的堆棧,不包括依賴關係。
--fail
BOOLEAN
-
如果檢測到差異,
1
則失敗並以代碼退出。 --help, -h
BOOLEAN
-
顯示指令的指
cdk diff
令參考資訊。 --processed
BOOLEAN
-
指定是否要與已處理 CloudFormation 轉換的範本進行比較。
預設值:
false
--quiet, -q
BOOLEAN
-
stdout
當未偵測到任何變更時,請勿列印 CDK 堆疊名稱和預設cdk diff
訊息。預設值:
false
--security-only
BOOLEAN
-
只有擴大安全性變更的差異。
預設值:
false
--strict
BOOLEAN
-
修改
cdk diff
行為更精確或嚴格。如果為 true,CDK CLI 將不會過濾掉AWS::CDK::Metadata
資源或無法讀取的非 ASCII 字元。預設值:
false
--template
STRING
-
要與 CDK 堆疊進行比較的 CloudFormation 範本路徑。
範例
與目前部署的名稱堆疊差異 MyStackName
$
cdk diff MyStackName --app='node bin/main.js'
與特定 CloudFormation 範本的差異
$
cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'
將本地堆棧與其部署的堆棧進行比較。如果沒有檢測到更改,請不要打印到 stdout
$
cdk diff MyStackName --app='node bin/main.js' --quiet