Python 无法为 CDK V2 中的子包添加依赖项

Cannot add dependencies for sub packages in CDK V2 in Python

CDK v1 到 v2 migration guide 建议添加如下要求:

aws-cdk-lib>=2.0.0
constructs>=10.0.0
aws-cdk.aws-codestar-alpha>=2.0.0alpha1
...

我想像在 v1 中那样一个一个地添加 CDK 包的依赖项:aws-cdk.aws-lambdaaws-cdk.aws-apigateway 等等。 但是我发现在 CDK v2 中没有办法做到这一点。 aws-cdk-lib.{service-name} 不行。

这会导致依赖层文件非常大,超过 Lambda 中 256MB 的依赖层大小限制。所以升级到 v2 后我无法更新我的堆栈。

有没有办法排除由 aws-cdk-lib 创建的未使用的依赖项?

CDK v2 的重点是将所有模块打包在一起以避免不匹配的依赖项。每个 CDK v2 版本包含所有模块,不包括实验性模块,仍以 alpha 后缀单独发布。

所以不,你不能从 CDKv2 中排除任何模块,这是设计使然。

来自docs

AWS CDK v2 consolidates the stable parts of the AWS Construct Library, including the core library, into a single package, aws-cdk-lib. Developers no longer need to install additional packages for the individual AWS services they use. This single-package approach also eliminates the need to synchronize the versions of the various CDK library packages.