Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

AWS CDK proyek

Mode fokus
AWS CDK proyek - AWS Cloud Development Kit (AWS CDK) v2

Ini adalah Panduan Pengembang AWS CDK v2. CDK v1 yang lebih lama memasuki pemeliharaan pada 1 Juni 2022 dan mengakhiri dukungan pada 1 Juni 2023.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ini adalah Panduan Pengembang AWS CDK v2. CDK v1 yang lebih lama memasuki pemeliharaan pada 1 Juni 2022 dan mengakhiri dukungan pada 1 Juni 2023.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS Cloud Development Kit (AWS CDK) Proyek mewakili file dan folder yang berisi kode CDK Anda. Konten akan bervariasi berdasarkan bahasa pemrograman Anda.

Anda dapat membuat AWS CDK proyek Anda secara manual atau dengan Antarmuka Baris AWS CDK Perintah (AWS CDK CLI) cdk init perintah. Dalam topik ini, kita akan merujuk pada struktur proyek dan konvensi penamaan file dan folder yang dibuat oleh AWS CDK CLI. Anda dapat menyesuaikan dan mengatur proyek CDK Anda agar sesuai dengan kebutuhan Anda.

catatan

Struktur proyek yang dibuat oleh AWS CDK CLI dapat bervariasi antar versi dari waktu ke waktu.

File dan folder universal

.git

Jika Anda telah git menginstal, AWS CDK CLI secara otomatis menginisialisasi Git repositori untuk proyek Anda. .gitDirektori berisi informasi tentang repositori.

.gitignore

File teks yang digunakan oleh Git untuk menentukan file dan folder untuk diabaikan.

README.md

File teks yang memberi Anda panduan dasar dan informasi penting untuk mengelola AWS CDK proyek Anda. Ubah file ini seperlunya untuk mendokumentasikan informasi penting mengenai proyek CDK Anda.

cdk.json

File konfigurasi untuk file AWS CDK. File ini memberikan instruksi kepada AWS CDK CLI tentang cara menjalankan aplikasi Anda.

File dan folder khusus bahasa

File dan folder berikut unik untuk setiap bahasa pemrograman yang didukung.

TypeScript

Berikut ini adalah contoh proyek yang dibuat dalam my-cdk-ts-project direktori menggunakan cdk init --language typescript perintah:

my-cdk-ts-project ├── .git ├── .gitignore ├── .npmignore ├── README.md ├── bin │ └── my-cdk-ts-project.ts ├── cdk.json ├── jest.config.js ├── lib │ └── my-cdk-ts-project-stack.ts ├── node_modules ├── package-lock.json ├── package.json ├── test │ └── my-cdk-ts-project.test.ts └── tsconfig.json
.npmignore

File yang menentukan file dan folder mana yang harus diabaikan saat menerbitkan paket ke npm registri. File ini mirip dengan.gitignore, tetapi khusus untuk npm paket.

tempat sampah/ .ts my-cdk-ts-project

File aplikasi mendefinisikan aplikasi CDK Anda. Proyek CDK dapat berisi satu atau lebih file aplikasi. File aplikasi disimpan di bin folder.

Berikut ini adalah contoh file aplikasi dasar yang mendefinisikan aplikasi CDK:

#!/usr/bin/env node import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { MyCdkTsProjectStack } from '../lib/my-cdk-ts-project-stack'; const app = new cdk.App(); new MyCdkTsProjectStack(app, 'MyCdkTsProjectStack');
jest.config.js

File konfigurasi untuk Jest. Jestadalah populer JavaScript kerangka pengujian.

lib/ my-cdk-ts-project -stack.ts

File stack mendefinisikan tumpukan CDK Anda. Dalam tumpukan Anda, Anda mendefinisikan AWS sumber daya dan properti menggunakan konstruksi.

Berikut ini adalah contoh file stack dasar yang mendefinisikan tumpukan CDK:

import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; export class MyCdkTsProjectStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // code that defines your resources and properties go here } }
node_modules

Folder umum di Node.js proyek yang berisi dependensi untuk proyek Anda.

package-lock.json

File metadata yang bekerja dengan package.json file untuk mengelola versi dependensi.

package.json

File metadata yang biasa digunakan di Node.js proyek. File ini berisi informasi tentang proyek CDK Anda seperti nama proyek, definisi skrip, dependensi, dan informasi tingkat proyek impor lainnya.

uji/ .test.ts my-cdk-ts-project

Folder pengujian dibuat untuk mengatur pengujian untuk proyek CDK Anda. File uji sampel juga dibuat.

Anda dapat menulis tes di TypeScript dan gunakan Jest untuk mengkompilasi TypeScript kode sebelum menjalankan tes.

tsconfig.json

File konfigurasi yang digunakan di TypeScript proyek yang menentukan opsi kompiler dan pengaturan proyek.

JavaScript

Berikut ini adalah contoh proyek yang dibuat dalam my-cdk-js-project direktori menggunakan cdk init --language javascript perintah:

my-cdk-js-project ├── .git ├── .gitignore ├── .npmignore ├── README.md ├── bin │ └── my-cdk-js-project.js ├── cdk.json ├── jest.config.js ├── lib │ └── my-cdk-js-project-stack.js ├── node_modules ├── package-lock.json ├── package.json └── test └── my-cdk-js-project.test.js
.npmignore

File yang menentukan file dan folder mana yang harus diabaikan saat menerbitkan paket ke npm registri. File ini mirip dengan.gitignore, tetapi khusus untuk npm paket.

tempat sampah/.js my-cdk-js-project

File aplikasi mendefinisikan aplikasi CDK Anda. Proyek CDK dapat berisi satu atau lebih file aplikasi. File aplikasi disimpan di bin folder.

Berikut ini adalah contoh file aplikasi dasar yang mendefinisikan aplikasi CDK:

#!/usr/bin/env node const cdk = require('aws-cdk-lib'); const { MyCdkJsProjectStack } = require('../lib/my-cdk-js-project-stack'); const app = new cdk.App(); new MyCdkJsProjectStack(app, 'MyCdkJsProjectStack');
jest.config.js

File konfigurasi untuk Jest. Jestadalah populer JavaScript kerangka pengujian.

lib/ -stack.js my-cdk-js-project

File stack mendefinisikan tumpukan CDK Anda. Dalam tumpukan Anda, Anda mendefinisikan AWS sumber daya dan properti menggunakan konstruksi.

Berikut ini adalah contoh file stack dasar yang mendefinisikan tumpukan CDK:

const { Stack, Duration } = require('aws-cdk-lib'); class MyCdkJsProjectStack extends Stack { constructor(scope, id, props) { super(scope, id, props); // code that defines your resources and properties go here } } module.exports = { MyCdkJsProjectStack }
node_modules

Folder umum di Node.js proyek yang berisi dependensi untuk proyek Anda.

package-lock.json

File metadata yang bekerja dengan package.json file untuk mengelola versi dependensi.

package.json

File metadata yang biasa digunakan di Node.js proyek. File ini berisi informasi tentang proyek CDK Anda seperti nama proyek, definisi skrip, dependensi, dan informasi tingkat proyek impor lainnya.

uji/ .test.js my-cdk-js-project

Folder pengujian dibuat untuk mengatur pengujian untuk proyek CDK Anda. File uji sampel juga dibuat.

Anda dapat menulis tes di JavaScript dan gunakan Jest untuk mengkompilasi JavaScript kode sebelum menjalankan tes.

Python

Berikut ini adalah contoh proyek yang dibuat dalam my-cdk-py-project direktori menggunakan cdk init --language python perintah:

my-cdk-py-project ├── .git ├── .gitignore ├── .venv ├── README.md ├── app.py ├── cdk.json ├── my_cdk_py_project │ ├── __init__.py │ └── my_cdk_py_project_stack.py ├── requirements-dev.txt ├── requirements.txt ├── source.bat └── tests ├── __init__.py └── unit
.venv

CDK CLI secara otomatis menciptakan lingkungan virtual untuk proyek Anda. .venvDirektori mengacu pada lingkungan virtual ini.

app.py

File aplikasi mendefinisikan aplikasi CDK Anda. Proyek CDK dapat berisi satu atau lebih file aplikasi.

Berikut ini adalah contoh file aplikasi dasar yang mendefinisikan aplikasi CDK:

#!/usr/bin/env python3 import os import aws_cdk as cdk from my_cdk_py_project.my_cdk_py_project_stack import MyCdkPyProjectStack app = cdk.App() MyCdkPyProjectStack(app, "MyCdkPyProjectStack") app.synth()
my_cdk_py_project

Direktori yang berisi file tumpukan Anda. CDK CLI membuat yang berikut di sini:

  • __init__.py — Kosong Python file definisi paket.

  • my_cdk_py_project— File yang mendefinisikan tumpukan CDK Anda. Anda kemudian mendefinisikan AWS sumber daya dan properti dalam tumpukan menggunakan konstruksi.

Berikut ini adalah contoh file stack:

from aws_cdk import Stack from constructs import Construct class MyCdkPyProjectStack(Stack): def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: super().__init__(scope, construct_id, **kwargs) # code that defines your resources and properties go here
requirements-dev.txt

File mirip denganrequirements.txt, tetapi digunakan untuk mengelola dependensi khusus untuk tujuan pengembangan daripada produksi.

requirements.txt

File umum yang digunakan di Python proyek untuk menentukan dan mengelola dependensi proyek.

source.bat

Batch file untuk Windows yang digunakan untuk mengatur Python lingkungan virtual.

tes

Direktori yang berisi pengujian untuk proyek CDK Anda.

Berikut ini adalah contoh dari unit test:

import aws_cdk as core import aws_cdk.assertions as assertions from my_cdk_py_project.my_cdk_py_project_stack import MyCdkPyProjectStack def test_sqs_queue_created(): app = core.App() stack = MyCdkPyProjectStack(app, "my-cdk-py-project") template = assertions.Template.from_stack(stack) template.has_resource_properties("AWS::SQS::Queue", { "VisibilityTimeout": 300 })
Java

Berikut ini adalah contoh proyek yang dibuat dalam my-cdk-java-project direktori menggunakan cdk init --language java perintah:

my-cdk-java-project ├── .git ├── .gitignore ├── README.md ├── cdk.json ├── pom.xml └── src ├── main └── test
pom.xml

File yang berisi informasi konfigurasi dan metadata tentang proyek CDK Anda. File ini adalah bagian dari Maven.

src/utama

Direktori yang berisi file aplikasi dan tumpukan Anda.

Berikut ini adalah contoh file aplikasi:

package com.myorg; import software.amazon.awscdk.App; import software.amazon.awscdk.Environment; import software.amazon.awscdk.StackProps; import java.util.Arrays; public class MyCdkJavaProjectApp { public static void main(final String[] args) { App app = new App(); new MyCdkJavaProjectStack(app, "MyCdkJavaProjectStack", StackProps.builder() .build()); app.synth(); } }

Berikut ini adalah contoh file stack:

package com.myorg; import software.constructs.Construct; import software.amazon.awscdk.Stack; import software.amazon.awscdk.StackProps; public class MyCdkJavaProjectStack extends Stack { public MyCdkJavaProjectStack(final Construct scope, final String id) { this(scope, id, null); } public MyCdkJavaProjectStack(final Construct scope, final String id, final StackProps props) { super(scope, id, props); // code that defines your resources and properties go here } }
src/tes

Direktori yang berisi file pengujian Anda. Berikut adalah contohnya:

package com.myorg; import software.amazon.awscdk.App; import software.amazon.awscdk.assertions.Template; import java.io.IOException; import java.util.HashMap; import org.junit.jupiter.api.Test; public class MyCdkJavaProjectTest { @Test public void testStack() throws IOException { App app = new App(); MyCdkJavaProjectStack stack = new MyCdkJavaProjectStack(app, "test"); Template template = Template.fromStack(stack); template.hasResourceProperties("AWS::SQS::Queue", new HashMap<String, Number>() {{ put("VisibilityTimeout", 300); }}); } }
C#

Berikut ini adalah contoh proyek yang dibuat dalam my-cdk-csharp-project direktori menggunakan cdk init --language csharp perintah:

my-cdk-csharp-project ├── .git ├── .gitignore ├── README.md ├── cdk.json └── src ├── MyCdkCsharpProject └── MyCdkCsharpProject.sln
src/ MyCdkCsharpProject

Direktori yang berisi file aplikasi dan tumpukan Anda.

Berikut ini adalah contoh file aplikasi:

using Amazon.CDK; using System; using System.Collections.Generic; using System.Linq; namespace MyCdkCsharpProject { sealed class Program { public static void Main(string[] args) { var app = new App(); new MyCdkCsharpProjectStack(app, "MyCdkCsharpProjectStack", new StackProps{}); app.Synth(); } } }

Berikut ini adalah contoh file stack:

using Amazon.CDK; using Constructs; namespace MyCdkCsharpProject { public class MyCdkCsharpProjectStack : Stack { internal MyCdkCsharpProjectStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props) { // code that defines your resources and properties go here } } }

Direktori ini juga berisi yang berikut:

  • GlobalSuppressions.cs— File yang digunakan untuk menekan peringatan atau kesalahan kompiler tertentu di seluruh proyek Anda.

  • .csproj— File berbasis XML yang digunakan untuk menentukan pengaturan proyek, dependensi, dan membangun konfigurasi.

src/ MyCdkCsharpProject .sln

Microsoft Visual Studio Solution File digunakan untuk mengatur dan mengelola proyek-proyek terkait.

Go

Berikut ini adalah contoh proyek yang dibuat dalam my-cdk-go-project direktori menggunakan cdk init --language go perintah:

my-cdk-go-project ├── .git ├── .gitignore ├── README.md ├── cdk.json ├── go.mod ├── my-cdk-go-project.go └── my-cdk-go-project_test.go
go.mod

File yang berisi informasi modul dan digunakan untuk mengelola dependensi dan pembuatan versi untuk Anda Go proyek.

my-cdk-go-project.pergi

File yang mendefinisikan aplikasi dan tumpukan CDK Anda.

Berikut adalah contohnya:

package main import ( "github.com/aws/aws-cdk-go/awscdk/v2" "github.com/aws/constructs-go/constructs/v10" "github.com/aws/jsii-runtime-go" ) type MyCdkGoProjectStackProps struct { awscdk.StackProps } func NewMyCdkGoProjectStack(scope constructs.Construct, id string, props *MyCdkGoProjectStackProps) awscdk.Stack { var sprops awscdk.StackProps if props != nil { sprops = props.StackProps } stack := awscdk.NewStack(scope, &id, &sprops) // The code that defines your resources and properties go here return stack } func main() { defer jsii.Close() app := awscdk.NewApp(nil) NewMyCdkGoProjectStack(app, "MyCdkGoProjectStack", &MyCdkGoProjectStackProps{ awscdk.StackProps{ Env: env(), }, }) app.Synth(nil) } func env() *awscdk.Environment { return nil }
my-cdk-go-project_test.go

File yang mendefinisikan uji sampel.

Berikut adalah contohnya:

package main import ( "testing" "github.com/aws/aws-cdk-go/awscdk/v2" "github.com/aws/aws-cdk-go/awscdk/v2/assertions" "github.com/aws/jsii-runtime-go" ) func TestMyCdkGoProjectStack(t *testing.T) { // GIVEN app := awscdk.NewApp(nil) // WHEN stack := NewMyCdkGoProjectStack(app, "MyStack", nil) // THEN template := assertions.Template_FromStack(stack, nil) template.HasResourceProperties(jsii.String("AWS::SQS::Queue"), map[string]interface{}{ "VisibilityTimeout": 300, }) }

Berikut ini adalah contoh proyek yang dibuat dalam my-cdk-ts-project direktori menggunakan cdk init --language typescript perintah:

my-cdk-ts-project ├── .git ├── .gitignore ├── .npmignore ├── README.md ├── bin │ └── my-cdk-ts-project.ts ├── cdk.json ├── jest.config.js ├── lib │ └── my-cdk-ts-project-stack.ts ├── node_modules ├── package-lock.json ├── package.json ├── test │ └── my-cdk-ts-project.test.ts └── tsconfig.json
.npmignore

File yang menentukan file dan folder mana yang harus diabaikan saat menerbitkan paket ke npm registri. File ini mirip dengan.gitignore, tetapi khusus untuk npm paket.

tempat sampah/ .ts my-cdk-ts-project

File aplikasi mendefinisikan aplikasi CDK Anda. Proyek CDK dapat berisi satu atau lebih file aplikasi. File aplikasi disimpan di bin folder.

Berikut ini adalah contoh file aplikasi dasar yang mendefinisikan aplikasi CDK:

#!/usr/bin/env node import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { MyCdkTsProjectStack } from '../lib/my-cdk-ts-project-stack'; const app = new cdk.App(); new MyCdkTsProjectStack(app, 'MyCdkTsProjectStack');
jest.config.js

File konfigurasi untuk Jest. Jestadalah populer JavaScript kerangka pengujian.

lib/ my-cdk-ts-project -stack.ts

File stack mendefinisikan tumpukan CDK Anda. Dalam tumpukan Anda, Anda mendefinisikan AWS sumber daya dan properti menggunakan konstruksi.

Berikut ini adalah contoh file stack dasar yang mendefinisikan tumpukan CDK:

import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; export class MyCdkTsProjectStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // code that defines your resources and properties go here } }
node_modules

Folder umum di Node.js proyek yang berisi dependensi untuk proyek Anda.

package-lock.json

File metadata yang bekerja dengan package.json file untuk mengelola versi dependensi.

package.json

File metadata yang biasa digunakan di Node.js proyek. File ini berisi informasi tentang proyek CDK Anda seperti nama proyek, definisi skrip, dependensi, dan informasi tingkat proyek impor lainnya.

uji/ .test.ts my-cdk-ts-project

Folder pengujian dibuat untuk mengatur pengujian untuk proyek CDK Anda. File uji sampel juga dibuat.

Anda dapat menulis tes di TypeScript dan gunakan Jest untuk mengkompilasi TypeScript kode sebelum menjalankan tes.

tsconfig.json

File konfigurasi yang digunakan di TypeScript proyek yang menentukan opsi kompiler dan pengaturan proyek.

Topik berikutnya:

Aplikasi

Topik sebelumnya:

Perpustakaan

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.