cdk refactor - AWS 雲端開發套件 (AWS CDK) v2

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

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

cdk refactor

重要

cdk refactor 命令處於預覽版本中,可能會有所變更。

使用此命令時,您必須提供 --unstable=refactor選項。

在 AWS 雲端開發套件 (AWS CDK) 應用程式中重構程式碼時保留已部署的資源。

當您重新命名建構模組或將其移動到 CDK 程式碼中的堆疊時,CloudFormation 通常會將這些資源視為新資源,導致可能導致服務中斷或資料遺失的替換。cdk refactor 命令會以智慧方式偵測這些變更,並使用 CloudFormation 的重構 API 來保留您的資源,同時更新其邏輯 IDs。

cdk refactor 可讓您:

  • 重新命名建構以更清楚說明程式碼基底,而不會造成資源替換。

  • 在堆疊之間移動資源,以改善組織和分離問題。

  • 重新組織建構階層 (例如在新的 L3 建構下將 AWS 資源分組),同時保留基礎雲端資源。

  • 安全地升級或切換建構程式庫,包括第三方相依性,而不會在版本之間變更邏輯 IDs 時觸發資源替換。

此命令會分析您的變更、顯示將變更位置 (堆疊和邏輯 ID) 的資源清單,並處理更新 CloudFormation 資源的複雜程序,同時維護其身分和狀態。

執行時, 命令會比較您目前的程式碼與部署狀態,以自動運算映射。它會驗證您的 CDK 應用程式是否包含與部署狀態完全相同的一組資源,僅在其在建構樹狀結構中的位置中有所不同。如果命令偵測到任何資源新增、刪除或修改,重構操作將被拒絕,並顯示錯誤訊息。

映射運算之後,命令會顯示提議的變更,並在使用者確認後套用重構。如果偵測到模棱兩可的情況 (其中可能有多個有效映射),您可以提供具有明確映射的覆寫檔案來解決這些案例。

如需簡介,請參閱在重構 CDK 程式碼時保留已部署的資源

使用方式

$ cdk refactor <arguments> <options>

引數

CDK 堆疊 ID

要重構之應用程式中 CDK 堆疊的建構 ID。

您可以指定多個堆疊 IDs,將重構操作集中在這些堆疊上。如果資源正在堆疊之間移動,且未明確包含其中一個堆疊,Refactor 命令會自動在 操作中包含額外的堆疊。

如果您未提供任何堆疊 IDs,應用程式中的所有堆疊都會考慮進行重構。

類型:字串

必要:否

選項

如需適用於所有 CDK CLI 命令的全域選項清單,請參閱全域選項

--dry-run

將映射列印到主控台而不套用。

此選項有助於在實際執行重構之前驗證變更,特別是在使用複雜應用程式時。它確切顯示將要進行哪些變更,而不會修改任何資源。

--force

繼續重構,而不提示使用者進行確認。

當您對變更有信心時,這在互動式環境中非常有用。在非互動式環境中,例如 CI/CD 管道,CDK CLI 會自動繼續而不提示,因此不需要此選項。

--help, -h <BOOLEAN>

顯示命令的cdk refactor命令參考資訊。

--override-file <FILE>

當 CDK CLI 無法判斷資源的重構解析時,提供覆寫。此檔案包含 JSON 格式的資源映射。以下是範例:

{ "environments": [ { "account": "123456789012", "region": "us-east-2", "resources": { "StackA.OldName": "StackB.NewName", "StackC.Foo": "StackC.Bar" } } ] }
--revert <FILE>

還原先前的重構。您必須提供具有資源映射的覆寫檔案。

這不會完全復原先前的重構操作。若要完全還原重構,您需要將應用程式復原至先前的狀態,然後再次執行重構程序。