Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

AWS CDK projets

Mode de mise au point
AWS CDK projets - AWS Cloud Development Kit (AWS CDK) v2

Ceci est le guide du AWS CDK développeur de la version 2. L'ancien CDK v1 est entré en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ceci est le guide du AWS CDK développeur de la version 2. L'ancien CDK v1 est entré en maintenance le 1er juin 2022 et a pris fin le 1er juin 2023.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Un AWS Cloud Development Kit (AWS CDK) projet représente les fichiers et les dossiers qui contiennent votre code CDK. Le contenu peut varier en fonction de votre langage de programmation.

Vous pouvez créer votre AWS CDK projet manuellement ou à l'aide de l'interface de ligne de AWS CDK commande (AWS CDK CLI) cdk init commande. Dans cette rubrique, nous aborderons la structure du projet et les conventions de dénomination des fichiers et dossiers créés par la CLI AWS CDK. Vous pouvez personnaliser et organiser vos projets CDK en fonction de vos besoins.

Note

Structure de projet créée par AWS CDK CLI peut varier d'une version à l'autre au fil du temps.

Fichiers et dossiers universels

.git

Si vous avez git installé, AWS CDK CLI initialise automatiquement un Git référentiel pour votre projet. Le .git répertoire contient des informations sur le référentiel.

.gitignore

Fichier texte utilisé par Git pour spécifier les fichiers et les dossiers à ignorer.

README.md

Fichier texte qui vous fournit des conseils de base et des informations importantes pour la gestion de votre AWS CDK projet. Modifiez ce fichier si nécessaire pour documenter les informations importantes concernant votre projet CDK.

cdk.json

Fichier de configuration pour AWS CDK. Ce fichier fournit des instructions à AWS CDK CLI concernant la façon d'exécuter votre application.

Fichiers et dossiers spécifiques à la langue

Les fichiers et dossiers suivants sont propres à chaque langage de programmation pris en charge.

TypeScript

Voici un exemple de projet créé dans le my-cdk-ts-project répertoire à l'aide de la cdk init --language typescript commande :

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
.npm ignorer

Fichier qui indique les fichiers et les dossiers à ignorer lors de la publication d'un package sur npm registre. Ce fichier est similaire à.gitignore, mais il est spécifique à npm colis.

bin/.ts my-cdk-ts-project

Le fichier d'application définit votre application CDK. Les projets CDK peuvent contenir un ou plusieurs fichiers d'application. Les fichiers de candidature sont stockés dans le bin dossier.

Voici un exemple de fichier d'application de base qui définit une application 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

Fichier de configuration pour Jest. Jestest populaire JavaScript cadre de test.

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

Le fichier de pile définit votre pile de CDK. Au sein de votre pile, vous définissez les AWS ressources et les propriétés à l'aide de constructions.

Voici un exemple de fichier de pile de base qui définit une pile 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

Dossier commun dans Node.js projets qui contiennent des dépendances pour votre projet.

package-lock.json

Fichier de métadonnées qui fonctionne avec le package.json fichier pour gérer les versions des dépendances.

package.json

Fichier de métadonnées couramment utilisé dans Node.js projets. Ce fichier contient des informations sur votre projet CDK, telles que le nom du projet, les définitions de script, les dépendances et d'autres informations au niveau du projet d'importation.

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

Un dossier de test est créé pour organiser les tests de votre projet CDK. Un exemple de fichier de test est également créé.

Vous pouvez écrire des tests dans TypeScript et utilisez Jest pour compiler votre TypeScript code avant d'exécuter les tests.

tsconfig.json

Fichier de configuration utilisé dans TypeScript projets qui spécifient les options du compilateur et les paramètres du projet.

JavaScript

Voici un exemple de projet créé dans le my-cdk-js-project répertoire à l'aide de la cdk init --language javascript commande :

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
.npm ignorer

Fichier qui indique les fichiers et les dossiers à ignorer lors de la publication d'un package sur npm registre. Ce fichier est similaire à.gitignore, mais il est spécifique à npm colis.

bin/.js my-cdk-js-project

Le fichier d'application définit votre application CDK. Les projets CDK peuvent contenir un ou plusieurs fichiers d'application. Les fichiers de candidature sont stockés dans le bin dossier.

Voici un exemple de fichier d'application de base qui définit une application 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

Fichier de configuration pour Jest. Jestest populaire JavaScript cadre de test.

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

Le fichier de pile définit votre pile de CDK. Au sein de votre pile, vous définissez les AWS ressources et les propriétés à l'aide de constructions.

Voici un exemple de fichier de pile de base qui définit une pile 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

Dossier commun dans Node.js projets qui contiennent des dépendances pour votre projet.

package-lock.json

Fichier de métadonnées qui fonctionne avec le package.json fichier pour gérer les versions des dépendances.

package.json

Fichier de métadonnées couramment utilisé dans Node.js projets. Ce fichier contient des informations sur votre projet CDK, telles que le nom du projet, les définitions de script, les dépendances et d'autres informations au niveau du projet d'importation.

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

Un dossier de test est créé pour organiser les tests de votre projet CDK. Un exemple de fichier de test est également créé.

Vous pouvez écrire des tests dans JavaScript et utilisez Jest pour compiler votre JavaScript code avant d'exécuter les tests.

Python

Voici un exemple de projet créé dans le my-cdk-py-project répertoire à l'aide de la cdk init --language python commande :

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

Le CDK CLI crée automatiquement un environnement virtuel pour votre projet. Le .venv répertoire fait référence à cet environnement virtuel.

app.py

Le fichier d'application définit votre application CDK. Les projets CDK peuvent contenir un ou plusieurs fichiers d'application.

Voici un exemple de fichier d'application de base qui définit une application 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

Répertoire contenant vos fichiers de pile. Le CDK CLI crée ce qui suit ici :

  • __init__.py — Un vide Python fichier de définition du package.

  • my_cdk_py_project— Fichier qui définit votre pile de CDK. Vous définissez ensuite les AWS ressources et les propriétés au sein de la pile à l'aide de constructions.

Voici un exemple de fichier de pile :

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

Fichier similaire àrequirements.txt, mais utilisé pour gérer les dépendances spécifiquement à des fins de développement plutôt que de production.

requirements.txt

Fichier commun utilisé dans Python projets pour spécifier et gérer les dépendances entre les projets.

source.bat

Fichier Batch pour Windows qui est utilisé pour configurer le Python environnement virtuel.

tests

Répertoire contenant les tests pour votre projet CDK.

Voici un exemple de test unitaire :

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

Voici un exemple de projet créé dans le my-cdk-java-project répertoire à l'aide de la cdk init --language java commande :

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

Fichier contenant les informations de configuration et les métadonnées relatives à votre projet CDK. Ce fichier fait partie de Maven.

src/main

Répertoire contenant votre application et vos fichiers de pile.

Voici un exemple de fichier de candidature :

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

Voici un exemple de fichier de pile :

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/test

Répertoire contenant vos fichiers de test. Voici un exemple :

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#

Voici un exemple de projet créé dans le my-cdk-csharp-project répertoire à l'aide de la cdk init --language csharp commande :

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

Répertoire contenant votre application et vos fichiers de pile.

Voici un exemple de fichier de candidature :

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

Voici un exemple de fichier de pile :

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 } } }

Ce répertoire contient également les éléments suivants :

  • GlobalSuppressions.cs— Fichier utilisé pour supprimer des avertissements ou des erreurs spécifiques du compilateur dans votre projet.

  • .csproj— Fichier XML utilisé pour définir les paramètres du projet, les dépendances et les configurations de construction.

src/.sln MyCdkCsharpProject

Microsoft Visual Studio Solution File utilisé pour organiser et gérer des projets connexes.

Go

Voici un exemple de projet créé dans le my-cdk-go-project répertoire à l'aide de la cdk init --language go commande :

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

Fichier contenant des informations sur le module et utilisé pour gérer les dépendances et le versionnement de votre Go projet.

my-cdk-go-project.go

Fichier qui définit votre application CDK et ses piles.

Voici un exemple :

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

Fichier qui définit un exemple de test.

Voici un exemple :

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, }) }

Voici un exemple de projet créé dans le my-cdk-ts-project répertoire à l'aide de la cdk init --language typescript commande :

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
.npm ignorer

Fichier qui indique les fichiers et les dossiers à ignorer lors de la publication d'un package sur npm registre. Ce fichier est similaire à.gitignore, mais il est spécifique à npm colis.

bin/.ts my-cdk-ts-project

Le fichier d'application définit votre application CDK. Les projets CDK peuvent contenir un ou plusieurs fichiers d'application. Les fichiers de candidature sont stockés dans le bin dossier.

Voici un exemple de fichier d'application de base qui définit une application 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

Fichier de configuration pour Jest. Jestest populaire JavaScript cadre de test.

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

Le fichier de pile définit votre pile de CDK. Au sein de votre pile, vous définissez les AWS ressources et les propriétés à l'aide de constructions.

Voici un exemple de fichier de pile de base qui définit une pile 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

Dossier commun dans Node.js projets qui contiennent des dépendances pour votre projet.

package-lock.json

Fichier de métadonnées qui fonctionne avec le package.json fichier pour gérer les versions des dépendances.

package.json

Fichier de métadonnées couramment utilisé dans Node.js projets. Ce fichier contient des informations sur votre projet CDK, telles que le nom du projet, les définitions de script, les dépendances et d'autres informations au niveau du projet d'importation.

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

Un dossier de test est créé pour organiser les tests de votre projet CDK. Un exemple de fichier de test est également créé.

Vous pouvez écrire des tests dans TypeScript et utilisez Jest pour compiler votre TypeScript code avant d'exécuter les tests.

tsconfig.json

Fichier de configuration utilisé dans TypeScript projets qui spécifient les options du compilateur et les paramètres du projet.

Rubrique suivante :

Applications

Rubrique précédente :

Bibliothèques
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.