

這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護，並於 2023 年 6 月 1 日結束支援。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS CDK 支援的程式設計語言
<a name="languages"></a>

 AWS 雲端開發套件 (AWS CDK) 具有下列一般用途程式設計語言的一級支援：
+ TypeScript
+ JavaScript
+ Python
+ Java
+ C\$1
+  Go 

理論中也可能使用其他 JVM和 .NET CLR 語言，但我們目前不提供官方支援。

 AWS CDK 以一種語言 TypeScript 開發。為了支援其他語言， AWS CDK 會使用名為 [JSII](https://github.com/aws/jsii) 的工具來產生語言繫結。

我們嘗試提供每種語言的一般慣例，讓 AWS CDK 開發盡可能自然且直覺。例如，我們使用您慣用語言的標準儲存庫來分發 AWS 建構程式庫模組，而您使用語言的標準套件管理員來安裝模組。方法和屬性也會使用您語言建議的命名模式來命名。

以下是幾個程式碼範例：

**Example**  

```
const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
  bucketName: 'amzn-s3-demo-bucket',
  versioned: true,
  websiteRedirect: {hostName: 'aws.amazon.com'}});
```

```
const bucket = new s3.Bucket(this, 'amzn-s3-demo-bucket', {
  bucketName: 'amzn-s3-demo-bucket',
  versioned: true,
  websiteRedirect: {hostName: 'aws.amazon.com'}});
```

```
bucket = s3.Bucket("amzn-s3-demo-bucket", bucket_name="amzn-s3-demo-bucket", versioned=True,
            website_redirect=s3.RedirectTarget(host_name="aws.amazon.com"))
```

```
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();
```

```
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"
                      }});
```

```
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、Maven、 PyPi和 NuGet。我們也提供每種語言的 [AWS CDK API 參考](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html)版本。

為了協助您以偏好的語言使用 AWS CDK，本指南包含支援語言的下列主題：
+  [在 TypeScript 中使用 AWS CDK](work-with-cdk-typescript.md) 
+  [在 JavaScript 中使用 AWS CDK](work-with-cdk-javascript.md) 
+  [在 Python 中使用 AWS CDK](work-with-cdk-python.md) 
+  [在 Java 中使用 AWS CDK](work-with-cdk-java.md) 
+  [在 C\$1 中使用 AWS CDK](work-with-cdk-csharp.md) 
+  [在 Go 中使用 AWS CDK](work-with-cdk-go.md) 

TypeScript 是 AWS CDK 支援的第一個語言，大部分 AWS CDK 範例程式碼都是以 TypeScript 撰寫。本指南包含的主題專門示範如何調整 TypeScript AWS CDK 程式碼，以搭配其他支援的語言使用。如需詳細資訊，請參閱[將 TypeScript 中的 AWS CDK 與其他語言進行比較](work-with.md#work-with-cdk-compare)。