这是 AWS CDK v2 开发者指南。旧版 CDK v1 于 2022 年 6 月 1 日进入维护阶段,并于 2023 年 6 月 1 日终止支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS CDK 的受支持编程语言
AWS 云开发工具包 (AWS CDK) 对以下通用编程语言提供一流的支持:
-
TypeScript
-
JavaScript
-
Python
-
Java
-
C#
-
Go
理论上也可以使用其他 JVM 和 .NET CLR 语言,但我们目前不提供官方支持。
AWS CDK 是使用单一语言 TypeScript 开发的。为了支持其他语言,AWS CDK 使用名为 JSII 的工具生成语言绑定。
我们尝试提供每种语言的常用惯例,以使通过 AWS CDK 进行开发尽可能自然和直观。例如,我们使用您的首选语言的标准存储库分发 AWS 构造库模块,而您则使用该语言的标准包管理器安装这些模块。方法和属性也使用您所用语言推荐的命名模式进行命名。
以下是一些代码示例:
- TypeScript
-
const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
bucketName: 'amzn-s3-demo-bucket',
versioned: true,
websiteRedirect: {hostName: 'aws.amazon.com'}});
- JavaScript
-
const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
bucketName: 'amzn-s3-demo-bucket',
versioned: true,
websiteRedirect: {hostName: 'aws.amazon.com'}});
- Python
-
bucket = s3.Bucket("amzn-s3-demo-bucket", bucket_name="amzn-s3-demo-bucket", versioned=True,
website_redirect=s3.RedirectTarget(host_name="aws.amazon.com"))
- Java
-
Bucket bucket = Bucket.Builder.create(self, "amzn-s3-demo-bucket")
.bucketName("amzn-s3-demo-bucket")
.versioned(true)
.websiteRedirect(new RedirectTarget.Builder()
.hostName("aws.amazon.com").build())
.build();
- C#
-
var bucket = new Bucket(this, "amzn-s3-demo-bucket", new BucketProps {
BucketName = "amzn-s3-demo-bucket",
Versioned = true,
WebsiteRedirect = new RedirectTarget {
HostName = "aws.amazon.com"
}});
- Go
-
bucket := awss3.NewBucket(scope, jsii.String("amzn-s3-demo-bucket"), &awss3.BucketProps {
BucketName: jsii.String("amzn-s3-demo-bucket"),
Versioned: jsii.Bool(true),
WebsiteRedirect: &awss3.RedirectTarget {
HostName: jsii.String("aws.amazon.com"),
},
})
这些代码片段仅用于说明目的。它们不完整,无法按原样运行。
AWS 构造库使用每种语言的标准包管理工具进行分发,包括 NPM、PyPi、Maven 和 NuGet。我们还提供每种语言的 AWS CDK API 参考版本。
为便于您以首选语言使用 AWS CDK,本指南涵盖以下针对受支持语言的主题:
TypeScript 是 AWS CDK 支持的第一种语言,而且大部分 AWS CDK 示例代码都是用 TypeScript 编写的。本指南包括一个专门介绍如何调整 TypeScript AWS CDK 代码使用其他受支持语言的主题。有关更多信息,请参阅将 TypeScript 中的 AWS CDK 与其他语言进行比较。