尝试理解 CDK 的一个奇怪行为:
我有2堆
StackA -> 定义资源 outA
StackB -> 定义资源 outB -它依赖于资源 outA
第一个“CDK 部署”运行没有任何问题。
现在,我通过删除“outA”资源来更改 StackA,并创建一个新资源调用“outAnew”并更新 StackB 以使用此新值
此时我无法部署任何Stack!如果我尝试部署 StackA 出现错误:
导出 outA 无法删除,因为它正在被 StackB 和 StackC 使用
如果尝试部署 StackB,由于依赖性,它会首先尝试部署 StackA。
任何想法?
示例代码:
堆栈A:
export class CdkDependenciesStackA extends cdk.Stack {
// public out_a: cdk.CfnOutput;
public out_a_new: cdk.CfnOutput;
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
// this.out_a = new cdk.CfnOutput(this, "out_a", {
// value: "outA",
// exportName: "outA",
// });
this.out_a_new = new cdk.CfnOutput(this, "out_a_new", …Run Code Online (Sandbox Code Playgroud)