選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

cdk diff

焦點模式
cdk diff - AWS Cloud Development Kit (AWS CDK) v2

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

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

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

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

執行差異以查看 AWS CDK 堆疊之間的基礎設施變更。

此命令通常用於比較本機 CDK 應用程式中堆疊目前狀態與已部署堆疊之間的差異。不過,您也可以將部署的堆疊與任何本機 AWS CloudFormation 範本進行比較。

用量

$ cdk diff <arguments> <options>

引數

CDK 堆疊 ID

您應用程式執行 diff 的 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 輸出中使用CLI下列符號:

  • [+] – 識別部署變更時將新增的程式碼或資源。

  • [-] – 識別部署變更時將移除的程式碼或資源。

  • [~] – 識別如果您部署變更,將會修改的資源或屬性。

以下是顯示 Lambda 函數本機變更差異的範例:

$ cdk diff MyStackName start: Building asset-hash:account-Region success: Built asset-hash:account-Region start: Publishing asset-hash:account-Region success: Published asset-hash:account-Region Hold on while we create a read-only change set to get a diff with accurate replacement information (use --no-change-set to use a less accurate but faster template-only diff) Stack MyStackName Resources [~] AWS::Lambda::Function HelloWorldFunction resource-logical-ID └─ [~] Code └─ [~] .ZipFile: ├─ [-] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello World!'), }; }; └─ [+] exports.handler = async function(event) { return { statusCode: 200, body: JSON.stringify('Hello from CDK!'), }; }; ✨ Number of stacks with differences: 1

將修改之資源的[~]指標並不表示完全取代資源:

  • 有些資源屬性,例如 Code,會更新資源。

  • 有些資源屬性,例如 FunctionName,可能會導致完整資源取代。

與特定 CloudFormation 範本的差異

$ cdk diff MyStackName --app='node bin/main.js' --template-path='./MyStackNameTemplate.yaml'

將本機堆疊與其已部署的堆疊區分開。如果未偵測到任何變更,請勿列印至 stdout

$ cdk diff MyStackName --app='node bin/main.js' --quiet

下一個主題:

cdk docs

上一個主題:

cdk destroy

在本頁面

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。