これは AWS CDK v2 開発者ガイドです。旧版の CDK v1 は 2022 年 6 月 1 日にメンテナンスを開始し、2023 年 6 月 1 日にサポートを終了しました。
AWS CDK のサポートされているプログラミング言語
AWS Cloud Development Kit (AWS CDK) には、次の汎用プログラミング言語に対するファーストクラスサポートがあります。
-
TypeScript
-
JavaScript
-
Python
-
Java
-
C#
-
Go
その他の JVM や .NET CLR 言語も理論上使用できますが、現時点では公式なサポートを提供していません。
AWS CDK は TypeScript という 1 つの言語で開発されています。他の言語をサポートするため、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 を他の言語と比較」を参照してください。