Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

AWS CDK projetos

Modo de foco
AWS CDK projetos - AWS Cloud Development Kit (AWS CDK) v2

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Um AWS Cloud Development Kit (AWS CDK) projeto representa os arquivos e pastas que contêm seu código CDK. O conteúdo variará de acordo com sua linguagem de programação.

Você pode criar seu AWS CDK projeto manualmente ou com a interface de linha de AWS CDK comando (AWS CDK CLI) cdk init comando. Neste tópico, nos referiremos à estrutura do projeto e às convenções de nomenclatura de arquivos e pastas criados pela CLI do AWS CDK. É possível personalizar e organizar seus projetos do CDK para atender às necessidades.

nota

Estrutura do projeto criada pelo AWS CDK CLI pode variar entre as versões ao longo do tempo.

Arquivos e pastas universais

.git

Se você git instalou, o AWS CDK CLI inicializa automaticamente um Git repositório para seu projeto. O diretório .git contém informações sobre o repositório.

.gitignore

Arquivo de texto usado por Git para especificar arquivos e pastas a serem ignorados.

README.md

Arquivo de texto que fornece orientações básicas e informações importantes para gerenciar seu AWS CDK projeto. Modifique esse arquivo conforme necessário para documentar informações importantes sobre seu projeto CDK.

cdk.json

Arquivo de configuração para o AWS CDK. Esse arquivo fornece instruções para AWS CDK CLI sobre como executar seu aplicativo.

Arquivos e pastas específicos de linguagem

Os arquivos e pastas a seguir são exclusivos para cada linguagem de programação compatível.

TypeScript

Veja a seguir um exemplo de projeto criado no diretório my-cdk-ts-project usando o comando cdk init --language typescript:

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

Arquivo que especifica quais arquivos e pastas devem ser ignorados ao publicar um pacote no npm registro. Esse arquivo é semelhante a.gitignore, mas é específico de npm pacotes.

bin/.ts my-cdk-ts-project

O arquivo da aplicação define sua aplicação CDK. Os projetos do CDK contêm um ou mais arquivos de aplicações. Os arquivos da aplicação são armazenados na pasta bin.

Veja a seguir um exemplo de um arquivo de aplicação básico que define uma aplicação do 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

Arquivo de configuração para Jest. Jesté um popular JavaScript estrutura de teste.

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

O arquivo de pilha define sua pilha de CDK. Na sua pilha, você define os recursos da AWS e as propriedades usando constructos.

Veja a seguir um exemplo de um arquivo de pilha básico que define uma pilha do 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

Pasta comum em Node.js projetos que contêm dependências para seu projeto.

package-lock.json

Arquivo de metadados que funcionam com o arquivo package.json para gerenciar versões de dependências.

package.json

Arquivo de metadados que é comumente usado em Node.js projetos. Esse arquivo contém informações sobre seu projeto CDK, como nome do projeto, definições de script, dependências e outras informações de importação em nível de projeto.

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

Uma pasta de teste é criada para organizar os testes do seu projeto CDK. Um arquivo de teste de amostra também é criado.

Você pode escrever testes em TypeScript e use Jest para compilar seu TypeScript codifique antes de executar os testes.

tsconfig.json

Arquivo de configuração usado em TypeScript projetos que especificam as opções do compilador e as configurações do projeto.

JavaScript

Veja a seguir um exemplo de projeto criado no diretório my-cdk-js-project usando o comando cdk init --language javascript:

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

Arquivo que especifica quais arquivos e pastas devem ser ignorados ao publicar um pacote no npm registro. Esse arquivo é semelhante a.gitignore, mas é específico de npm pacotes.

bin/.js my-cdk-js-project

O arquivo da aplicação define sua aplicação CDK. Os projetos do CDK contêm um ou mais arquivos de aplicações. Os arquivos da aplicação são armazenados na pasta bin.

Veja a seguir um exemplo de um arquivo de aplicação básico que define uma aplicação do 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

Arquivo de configuração para Jest. Jesté um popular JavaScript estrutura de teste.

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

O arquivo de pilha define sua pilha de CDK. Na sua pilha, você define os recursos da AWS e as propriedades usando constructos.

Veja a seguir um exemplo de um arquivo de pilha básico que define uma pilha do 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

Pasta comum em Node.js projetos que contêm dependências para seu projeto.

package-lock.json

Arquivo de metadados que funcionam com o arquivo package.json para gerenciar versões de dependências.

package.json

Arquivo de metadados que é comumente usado em Node.js projetos. Esse arquivo contém informações sobre seu projeto CDK, como nome do projeto, definições de script, dependências e outras informações de importação em nível de projeto.

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

Uma pasta de teste é criada para organizar os testes do seu projeto CDK. Um arquivo de teste de amostra também é criado.

Você pode escrever testes em JavaScript e use Jest para compilar seu JavaScript codifique antes de executar os testes.

Python

Veja a seguir um exemplo de projeto criado no diretório my-cdk-py-project usando o comando cdk init --language python:

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

O CDK CLI cria automaticamente um ambiente virtual para seu projeto. O diretório .venv se refere a esse ambiente virtual.

app.py

O arquivo da aplicação define sua aplicação CDK. Os projetos do CDK contêm um ou mais arquivos de aplicações.

Veja a seguir um exemplo de um arquivo de aplicação básico que define uma aplicação do 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

O diretório que contém seus arquivos de pilha. O CDK CLI cria o seguinte aqui:

  • __init__.py — Um vazio Python arquivo de definição de pacote.

  • my_cdk_py_project — Arquivo que define sua pilha de CDK. Em seguida, você define recursos da AWS e propriedades na pilha usando constructos.

Este é um exemplo de um arquivo de pilha:

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

Arquivo semelhante ao requirements.txt, mas usado para gerenciar dependências especificamente para fins de desenvolvimento em vez de produção.

requirements.txt

Arquivo comum usado em Python projetos para especificar e gerenciar as dependências do projeto.

source.bat

Arquivo Batch para Windows que é usado para configurar o Python ambiente virtual.

testes

Diretório que contém testes para seu projeto CDK.

A seguir, veja um exemplo de um teste de unidade:

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

Veja a seguir um exemplo de projeto criado no diretório my-cdk-java-project usando o comando cdk init --language java:

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

Arquivo que contém informações de configuração e metadados sobre seu projeto CDK. Este arquivo faz parte do Maven.

src/main

Diretório contenda sua aplicação e arquivos de pilha.

Este é um exemplo de um arquivo de aplicação:

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

Este é um exemplo de um arquivo de pilha:

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

Diretório contendo seus arquivos de teste. Veja um exemplo a seguir:

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#

Veja a seguir um exemplo de projeto criado no diretório my-cdk-csharp-project usando o comando cdk init --language csharp:

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

Diretório contenda sua aplicação e arquivos de pilha.

Este é um exemplo de um arquivo de aplicação:

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

Este é um exemplo de um arquivo de pilha:

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

Esse diretório também contém o seguinte:

  • GlobalSuppressions.cs — Arquivo usado para suprimir avisos ou erros específicos do compilador em seu projeto.

  • .csproj — Arquivo baseado em XML usado para definir configurações de projeto, dependências e configurações de compilação.

src/ .sln MyCdkCsharpProject

Microsoft Visual Studio Solution File usado para organizar e gerenciar projetos relacionados.

Go

Veja a seguir um exemplo de projeto criado no diretório my-cdk-go-project usando o comando cdk init --language go:

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

Arquivo que contém informações do módulo e é usado para gerenciar dependências e versões do seu Go projeto.

my-cdk-go-project.go

Arquivo que define sua aplicação e suas pilhas de CDK.

Veja um exemplo a seguir:

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_teste.go

Arquivo que define um teste de amostra.

Veja um exemplo a seguir:

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

Veja a seguir um exemplo de projeto criado no diretório my-cdk-ts-project usando o comando cdk init --language typescript:

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

Arquivo que especifica quais arquivos e pastas devem ser ignorados ao publicar um pacote no npm registro. Esse arquivo é semelhante a.gitignore, mas é específico de npm pacotes.

bin/.ts my-cdk-ts-project

O arquivo da aplicação define sua aplicação CDK. Os projetos do CDK contêm um ou mais arquivos de aplicações. Os arquivos da aplicação são armazenados na pasta bin.

Veja a seguir um exemplo de um arquivo de aplicação básico que define uma aplicação do 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

Arquivo de configuração para Jest. Jesté um popular JavaScript estrutura de teste.

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

O arquivo de pilha define sua pilha de CDK. Na sua pilha, você define os recursos da AWS e as propriedades usando constructos.

Veja a seguir um exemplo de um arquivo de pilha básico que define uma pilha do 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

Pasta comum em Node.js projetos que contêm dependências para seu projeto.

package-lock.json

Arquivo de metadados que funcionam com o arquivo package.json para gerenciar versões de dependências.

package.json

Arquivo de metadados que é comumente usado em Node.js projetos. Esse arquivo contém informações sobre seu projeto CDK, como nome do projeto, definições de script, dependências e outras informações de importação em nível de projeto.

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

Uma pasta de teste é criada para organizar os testes do seu projeto CDK. Um arquivo de teste de amostra também é criado.

Você pode escrever testes em TypeScript e use Jest para compilar seu TypeScript codifique antes de executar os testes.

tsconfig.json

Arquivo de configuração usado em TypeScript projetos que especificam as opções do compilador e as configurações do projeto.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.