這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
本主題提供 如何處理 AWS Cloud Development Kit (AWS CDK) 版本控制的參考資訊。
版本編號包含三個數字版本部分: major.minor.patch,並嚴格遵守語意版本控制
次要和修補程式版本可回溯相容。使用相同主要版本的先前版本所撰寫的程式碼,可以在相同主要版本中升級至較新的版本。它也會繼續建置和執行,產生相同的輸出。
AWS CDKCLI 相容性
主 AWS CDK 程式庫 (aws-cdk-lib
) 的每個版本都與 AWS CDK CLI CDK 程式庫發行時的最新 (aws-cdk-cli
) 版本相容。它也與任何較新版本的 CDK 相容CLI。每個版本的 CDK 程式庫都會維持此相容性,直到程式庫的生命週期結束日期為止。因此,只要您使用支援的 CDK 程式庫版本,升級 CDK CLI版本一律是安全的。
每個版本的 CDK 程式庫也可以使用比發行 CDK 程式庫時最新版本CLI舊的 CDK 版本。不過,我們無法保證這一點。相容性取決於 CDK 程式庫的雲端組件結構描述版本。會在合成期間 AWS CDK 產生雲端組件,而 CDK CLI會使用它來進行部署。嚴格指定定義雲端組件格式的結構描述並進行版本化。因此,較舊版本的 CDK CLI需要支援 CDK 程式庫的雲端組件結構描述版本,才能相容。
當 CDK 程式庫所需的雲端組件版本與 CDK 支援的版本不相容時CLI,您會收到如下錯誤訊息:
Cloud assembly schema version mismatch: Maximum schema version supported is 3.0.0, but found 4.0.0. Please upgrade your CLI in order to interact with this app.
若要解決此錯誤,請將 CDK 更新CLI為與所需雲端組件版本相容的版本,或更新為最新的可用版本。通常不建議使用替代 (降級應用程式使用的建構程式庫模組)。
注意
如需可搭配運作之版本確切組合的詳細資訊,請參閱 aws-cdk-cli GitHub儲存庫中的相容性資料表
AWS 建構程式庫版本控制
AWS 建構程式庫中的模組會在從概念開發到成熟 API 時,逐步進行各種階段。不同階段在 的後續版本中提供不同程度的 API 穩定性 AWS CDK。
主要 AWS CDK 程式庫APIs aws-cdk-lib
是穩定的,程式庫是完全語義化的版本化。此套件包含所有 AWS 服務和所有穩定高階 AWS CloudFormation (L2 和 L3) 模組的 (L1) 建構。(它還包括核心 CDK 類別,例如 App
和 Stack
)。APIs CDK 的下一個主要版本之前,API 將不會從此套件中移除 (雖然可能已棄用)。沒有任何個別 API 會發生重大變更。需要重大變更時,將會新增全新的 API。
已納入 之服務開發中的新 APIs Beta
會使用尾碼N
aws-cdk-lib
識別,其中 會從 1 N
開始,並隨著新 API 的每次重大變更而遞增。 Beta
APIs永遠不會移除,只會棄用,因此您現有的應用程式會持續使用較新版本的 N
aws-cdk-lib
。當 API 視為穩定時,會新增不含Beta
尾碼的新 API。N
當更高階 (L2 或 L3) APIs 開始針對先前只有 L1 APIs AWS 的服務進行開發時,這些 APIs一開始會分散在單獨的套件中。這類套件的名稱具有「Alpha」尾碼,其版本符合aws-cdk-lib
其與 相容的第一個版本,以及 alpha
子版本。當模組支援預期的使用案例時,其 APIs會新增至 aws-cdk-lib
。
語言繫結穩定性
隨著時間的推移,我們可能會將支援新增至其他程式設計語言 AWS CDK 的 。雖然所有語言中描述的 API 都相同,但 API 的表達方式會因語言而異,並且可能會隨著語言支援的發展而改變。因此,在語言繫結視為準備好供生產使用之前,語言繫結會被視為實驗性。
Language | Stability |
---|---|
TypeScript | Stable |
JavaScript | Stable |
Python | Stable |
Java | Stable |
C#/.NET | Stable |
Go | Stable |