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 aplicativos

Modo de foco
AWS CDK aplicativos - 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á.

O AWS Cloud Development Kit (AWS CDK) aplicativo ou aplicativo é uma coleção de uma ou mais pilhas de CDK. As pilhas são uma coleção de uma ou mais construções, que definem AWS recursos e propriedades. Portanto, o agrupamento geral de suas pilhas e constructos é conhecido coma sua aplicação do CDK.

Como criar uma aplicação do CDK

Você cria uma aplicação definindo uma instância da aplicação no arquivo do seu projeto. Para fazer isso, você importa e usa a Appconstrução da AWS Construct Library. O constructo App não requer nenhum argumento de inicialização. É o único constructo que pode ser usado como raiz.

As Stack classes App e da AWS Construct Library são construções exclusivas. Em comparação com outras construções, elas não configuram AWS recursos sozinhas. Em vez disso, eles usados para fornecer contexto para seus outros constructos. Todas as construções que representam AWS recursos devem ser definidas, direta ou indiretamente, dentro do escopo de uma Stack construção. Stackconstruções são definidas dentro do escopo de uma App construção.

Os aplicativos são então sintetizados para criar AWS CloudFormation modelos para suas pilhas. Veja um exemplo a seguir:

TypeScript
const app = new App(); new MyFirstStack(app, 'hello-cdk'); app.synth();
JavaScript
const app = new App(); new MyFirstStack(app, 'hello-cdk'); app.synth();
Python
app = App() MyFirstStack(app, "hello-cdk") app.synth()
Java
App app = new App(); new MyFirstStack(app, "hello-cdk"); app.synth();
C#
var app = new App(); new MyFirstStack(app, "hello-cdk"); app.Synth();
Go
app := awscdk.NewApp(nil) MyFirstStack(app, "MyFirstStack", &MyFirstStackProps{ awscdk.StackProps{ Env: env(), }, }) app.Synth(nil)
const app = new App(); new MyFirstStack(app, 'hello-cdk'); app.synth();

As pilhas em uma única aplicação podem se referir facilmente aos recursos e propriedades umas das outras. Ele AWS CDK infere dependências entre as pilhas para que elas possam ser implantadas na ordem correta. Você pode implantar qualquer uma ou todas as pilhas em uma aplicação com um único comando cdk deploy.

A árvore de constructos

Os constructos são definidos dentro de outros constructos usando o argumento scope que é passado para cada constructo, com a classe App como raiz. Dessa forma, um AWS CDK aplicativo define uma hierarquia de construções conhecida como árvore de construção.

A raiz dessa árvore é sua aplicação, que é uma instância da classe App. Dentro da aplicação, você instancia uma ou mais pilhas. Nas pilhas, você instancia constructos, podendo eles mesmos instanciar recursos ou outros constructos, e assim por diante na árvore.

Os constructos são sempre definidos explicitamente dentro do escopo de outro constructo, o que cria relações entre os constructos. Quase sempre, você deve passar this (no Python, self) como escopo, indicando que o novo constructo é secundário do constructo atual. O padrão pretendido é que você derive seu constructo de Construct e, em seguida, instancie os constructos que ele usa em seu construtor.

Passar o escopo explicitamente permite que cada constructo se adicione à árvore, com esse comportamento inteiramente contido na classe de base Construct. Funciona da mesma forma em todos os idiomas suportados pelo AWS CDK e não requer personalização adicional.

Importante

Tecnicamente, é possível passar algum escopo além de this ao instanciar um constructo. Você pode adicionar constructos em qualquer lugar da árvore ou até mesmo em outra pilha na mesma aplicação. Por exemplo, você pode escrever uma função mixin-style que adiciona constructos a um escopo passado como argumento. A dificuldade prática aqui é que você não pode garantir facilmente que as IDs escolhas para suas construções sejam exclusivas no escopo de outra pessoa. A prática também torna seu código mais difícil de entender, manter e reutilizar. Portanto, convém usar a estrutura geral da árvore de constructos.

O AWS CDK usa todas as construções no caminho da raiz da árvore até cada construção secundária para gerar a exclusividade IDs exigida por AWS CloudFormation. IDs Essa abordagem significa que a construção IDs só precisa ser exclusiva em seu escopo, e não em toda a pilha, como na nativa AWS CloudFormation. No entanto, se você mover uma construção para um escopo diferente, a ID exclusiva da pilha gerada será alterada e AWS CloudFormation não a considerará o mesmo recurso.

A árvore de construção é separada das construções que você define no seu AWS CDK código. No entanto, é acessível por meio de qualquer atributo node do constructo, que é uma referência ao nó que representa esse constructo na árvore. Cada nó é uma instância de Node, cujos atributos fornecem acesso à raiz da árvore e aos escopos principais e secundários do nó.

  1. node.children: constructos secundários diretos do constructo.

  2. node.id: o identificador do constructo dentro de seu escopo.

  3. node.path— O caminho completo da construção, incluindo o IDs de todos os seus pais.

  4. node.root: a raiz da árvore de constructos (a aplicação).

  5. node.scope: o escopo (principal) do constructo ou indefinido se o nó for a raiz.

  6. node.scopes: todos os constructos principais do constructo, até a raiz.

  7. node.uniqueId: o identificador alfanumérico exclusivo para esse constructo na árvore (por padrão, gerado a partir de node.path e um hash).

A árvore de constructos define uma ordem implícita na qual os constructos são sintetizados em recursos no modelo final do AWS CloudFormation . Onde um recurso deve ser criado antes do outro, AWS CloudFormation ou a AWS Construct Library geralmente infere a dependência. Em seguida, eles garantem que os recursos sejam criados na ordem correta.

Você também pode adicionar uma dependência explícita entre dois nós usando node.addDependency(). Para obter mais informações, consulte Dependências na Referência de APIs do AWS CDK .

Isso AWS CDK fornece uma maneira simples de visitar cada nó na árvore de construção e realizar uma operação em cada um. Para obter mais informações, consulte Aspectos e o AWS CDK.

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