Опция 1:
передача данных из стека A в стек B с помощью конструктора:
Вы можете расширить cdk.stack
и создать новый класс, который будет содержат стек A..
В этом стеке предоставьте нужные данные, используя public XXX: string\number (etc)
(см. строку 2 в примере).
Позже, просто передайте эти данные в конструктор StackB (вы может передавать его и с помощью реквизита).
Фрагмент рабочего кода:
Стек A:
export class StackA extends cdk.Stack {
public YourKey: KEY_TYPE;
constructor(scope: cdk.Construct, id: string, props: cdk.StackProps ) {
super(scope, id, props);
Code goes here...
// Output the key
new cdk.CfnOutput(this, 'KEY', { value: this.YourKey });
}
}
Стек B:
export class StackB extends cdk.Stack {
constructor(scope: cdk.Construct, id: string,importedKey: KEY_TYPE, props: cdk.props) {
super(scope, id, props)
Code goes here...
console.log(importedKey)
}
}
bin ts:
const importedKey = new StackA(app, 'id',props).yourKey;
new StackB(app, 'id',importedKey,props);
Опция 2:
Иногда лучше просто сохранить такие вещи в хранилище параметров и прочитать их оттуда.
Подробнее здесь .