【发布时间】:2022-04-16 04:25:56
【问题描述】:
我是 CDK 新手,对 Construct 和 Stack 之间的区别感到困惑。使用 CDK,我们可以定义称为 Construct 的可重用云组件,并且我们可以进一步将它们组合成一个堆栈或应用程序。请参阅下面 AWS 网站的图表,
但是,我见过通过扩展 Construct 基类创建构造的类,以及通过扩展 Stack 基类创建 Stack 的类。这两个子类可以稍后用于创建主堆栈。例如,参见下面的代码,我可以创建一个名为 HitCounter 的 Construct 或 Stack 类,它创建相同的资源集并在主 Stack 中以相同的方式使用它们。那么使用 Stack 和 Construct 有什么区别呢?
import * as cdk from '@aws-cdk/core';
export class HitCounterConstruct extends cdk.Construct {} // imagine this construct creates a bunch of related resources
export class HitCounterStack extends cdk.Stack {} // imagine this stack creates the same resources as the construct class above
// In main stack file App.ts
new HitCounterConstruct(cdk.App, "construct");
new HitCounterStack(cdk.App, "stack");
如果我在代码中犯了任何错误,请纠正我。在此先感谢:)
【问题讨论】:
标签: amazon-web-services amazon-cloudformation aws-cdk