AWS CDK 版本控制 - AWS Cloud Development Kit (AWS CDK) v2

这是 AWS CDK v2 开发者指南。较旧的 CDK v1 于 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 构造库版本控制

C AWS onstruct Library 中的模块在从概念发展到成熟的 API 时会经历不同的阶段。在的后续版本中,不同的阶段提供不同程度的 API 稳定性 AWS CDK。

主 AWS CDK 库中的 API 是稳定的aws-cdk-lib,并且该库具有完全的语义版本。该软件包包括所有 AWS 服务的 AWS CloudFormation (L1) 构造和所有稳定的更高级别 (L2 和 L3) 模块。(它还包括核心 CDK 类,例如AppStack)。在 CDK 的下一个主要版本发布之前,API 不会从该软件包中删除(尽管它们可能会被弃用)。任何单独的 API 都不会有重大变化。当需要进行重大更改时,将添加一个全新的 API。

对于已经包含在中的服务,aws-cdk-lib正在开发的新 API 使用BetaN后缀进行标识,后缀从 1 N 开始,随着新 API 的每一次重大更改而递增。 BetaNAPI 永远不会被删除,只会被弃用,因此您的现有应用程序可以继续使用较新版本的。aws-cdk-lib当 API 被认为稳定时,会添加一个不带BetaN后缀的新 API。

当开始为以前只有 L1 API 的 AWS 服务开发更高级别(L2 或 L3)的 API 时,这些 API 最初是在单独的包中分发的。此类软件包的名称带有 “Alpha” 后缀,其版本与与之兼容的第一个版本相匹配aws-cdk-lib,即alpha子版本。当模块支持预期用例时,会将其 API 添加到aws-cdk-lib

语言绑定稳定性

随着时间的推移,我们可能会增加 AWS CDK 对其他编程语言的支持。尽管所有语言中描述的 API 都相同,但 API 的表达方式因语言而异,并且可能会随着语言支持的发展而改变。出于这个原因,语言绑定在一段时间内被视为实验性的,直到它们被认为可以投入生产使用。

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