我的 cdk 应用中有两个嵌套的堆栈。
export default class mainAppStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
new NestedStackOne(this, "nested-one");
new nestedStackTwo(this, 'nested-two);
}
}
export class nestedStackOne extends cdk.NestedStack {
constructor( scope: cdk.Construct, id: string, props?: cdk.NestedStackProps ) {
super(scope, id, props);
new new cognito.UserPool(this, `Userpool`, {
// ...configs
});
});
}
export class nestedStackTwo extends cdk.NestedStack {
constructor( scope: cdk.Construct, id: string, props?: cdk.NestedStackProps
) {
super(scope, id, props);
});
}
我想将嵌套堆栈一中定义的用户池的 arn 传递给堆栈二。我一直在努力寻找一种方法来做到这一点。 AWS 文档没有帮助。我该怎么做呢?如何在嵌套堆栈之间进行引用。
答案 0 :(得分:0)
您可以使用 CfnOutput 跨堆栈导出值,并使用 core.Fn.import_value("export_name") 在另一个堆栈中使用它。这应该允许您在账户内导入 ARN,因此嵌套结构应该无关紧要。
文档:https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.CfnOutput.html