常见问题 - AWS 规范指引

常见问题

如果不了解层,我就不能使用 AWS CDK 吗?

您绝对可以。但是,与大多数强大的工具一样,您对它的了解越多,AWS CDK 就越强大。了解 AWS CDK 各层如何交互可以开启新的理解层次,有助于简化堆栈部署,远远超出您仅凭基本 AWS CDK 知识所能完成的工作。

我能否像从 L2 创建 L3 构造一样,从 L1 创建 L2 构造?

如果资源已经有 L2 构造,我们建议您使用该构造,并在第 3 层进行自定义。这是因为已经有大量研究投入到寻找针对特定资源配置现有 L2 构造的最佳方法。然而,有几种 L1 构造的 L2 构造尚不存在。在这种情况下,我们鼓励您创建自己的 L2 构造,并通过成为 AWS CDK 开源库的贡献者与他人共享。您可以在 AWS CDK 的贡献准则中找到入门所需的一切。

哪些 AWS 资源还没有官方的 L2 构造?

没有 L2 构造的 AWS 资源数量每天都在减少,但是如果您有兴趣帮助为其中一个资源创建 L2 构造,请访问 AWS CDK API 参考。在左窗格中,查看资源列表。名称旁边有上标 1 的资源没有官方的 L2 构造。

我可以使用 AWS CDK 支持的任何语言来创建 L2 或 L3 构造吗?

AWS CDK 支持多种编程语言,包括 TypeScript、JavaScript、Python、Java、C# 和 Go。您可以使用编译成相关语言的 AWS CDK 代码来创建您的个人 L3 构造。但是,如果您想为 AWS CDK 做出贡献或创建原生 AWS CDK 构造,则必须使用 TypeScript。这是因为 TypeScript 是唯一一门原生于 AWS CDK 的语言。其他语言的 AWS CDK 版本是使用名为 JSii 的 AWS 库从原生 TypeScript 代码构建的。

在哪里可以找到 AWS CDK 之外的现有 L3 构造?

这里有太多位置需要分享,但您可以在 AWS Solutions Constructs 网站和 Construct Hub 的 AWS CDK 部分中找到许多最受欢迎的构造。