AWS CDK 版本化 - AWS Cloud Development Kit (AWS CDK) V2

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

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

AWS CDK 版本化

本主題提供有關如何 AWS Cloud Development Kit (AWS CDK) 處理版本化的參考資訊。

版本號由三個數字版本部分組成:主要未成年人補丁,並嚴格遵守語義版本模型。這意味著對穩定 API 的重大更改僅限於主要版本。

次要版本和修補程式版本與回溯相容。以相同主要版本的舊版本撰寫的程式碼可以升級至相同主要版本中的較新版本。它也將繼續構建和運行,產生相同的輸出。

AWS CDKCLI兼容性

始終與語義上較低或相版本號的構造庫兼容。 AWS CDK CLI因此,在同一主要版本 AWS CDK CLI中升級始終是安全的。

並不總 AWS CDK CLI是與語義上更高版本的構造庫兼容。相容性取決於兩個元件是否使用相同的雲端組件結構描述版本。該 AWS CDK 框架在合成過程中生成一個雲程序集, AWS CDK CLI並將其用於部署。嚴格指定定義雲端組合格式的結構描述並進行版本化。

AWS 使用指定的雲端組合資料架構版 AWS CDK CLI本建構資源庫與使用該資料架構版本或更新版本的版本相容。這可能包括比給定建構程式庫版本還早的發行版本。 AWS CDK CLI

當建構資源庫所需的雲端組件版本與支援的版本不相容時 AWS 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.

若要解決此錯誤,請更新 AWS CDK CLI為與所需雲端組件版本相容的版本,或更新至最新的可用版本。通常不建議使用替代方法(降級您的應用程序使用的構造庫模塊)。

注意

若要取得有關雲端組合資料架構的更多詳細資訊,請參閱〈雲端組

AWS 建構程式庫版本

在 AWS 構造庫中的模塊移動通過各個階段,因為它們是從概念開發到成熟的 API。不同階段在後續版本中提供不同程度的 API 穩定性 AWS CDK。

主 AWS CDK 庫中的 API 是穩定的aws-cdk-lib,並且庫在語義上是完全版本化的。此套件包含 AWS CloudFormation 適用於所有 AWS 服務和所有穩定較高層級 (L2 和 L3) 模組的 (L1) 建構。(它還包括核心 CDK 類,如AppStack)。在 CDK 的下一個主要發行版本之前,API 不會從此套件中移除 (儘管它們可能已被取代)。任何個別 API 都不會有突破性的變化。當需要突破性更改時,將添加一個全新的 API。

針對已納入的服務開發中的新 API aws-cdk-lib 會使用BetaN尾碼來識別,其中從 1 N 開始,並隨著新 API 的每次重大變更而遞增。 BetaNAPI 永遠不會移除,只會取代,因此您現有的應用程式可繼續使用aws-cdk-lib. 當 API 被視為穩定時,將添加一個沒有後BetaN綴的新 API。

當較高層級 (L2 或 L3) API 開始針對先前只有 L1 API 的 AWS 服務開發時,這些 API 一開始會分散在單獨的套件中。這種軟件包的名稱具有「Alpha」後綴,其版本與第一個版本兼容,具有alpha子版本。aws-cdk-lib當模組支援預期的使用案例時,會將其 API 新增至aws-cdk-lib

語言綁定穩定性

隨著時間的推移,我們可能會增加 AWS CDK 對其他程式設計語言的支援。儘管所有語言中描述的 API 都是相同的,但 API 的表達方式會因語言而異,並且可能會隨著語言支持的發展而改變。出於這個原因,語言綁定被視為一段時間的實驗性,直到它們被認為是準備好用於生產使用。

Language Stability
TypeScript Stable
JavaScript Stable
Python Stable
Java Stable
C#/.NET Stable
Go Stable