Configuração da sua instância do Kit de Ferramentas CDK - Kit de desenvolvimento em nuvem da AWS (CDK da AWS) v2

Este é o Guia do desenvolvedor do 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.

Configuração da sua instância do Kit de Ferramentas CDK

Saiba como personalizar sua instância da Biblioteca do Kit de Ferramentas CDK da AWS com opções para tratamento de mensagens, seleção de perfil da AWS e estratégias de seleção de pilha. Este guia explica as opções de configuração disponíveis e como implementá-las de forma eficaz para atender aos requisitos específicos de implantação.

Configuração do seu perfil da AWS

Quando você usa a Biblioteca do Kit de Ferramentas CDK, ela faz chamadas de API para a AWS usando o SDK. Embora a autenticação seja carregada automaticamente a partir do seu ambiente, é possível especificar explicitamente qual perfil usar:

import { Toolkit } from '@aws-cdk/toolkit-lib'; // Create a toolkit instance with a specific AWS profile const toolkit = new Toolkit({ sdkConfig: { profile: "my-profile" }, });

Configuração da seleção de pilha

A maioria das ações do Kit de Ferramentas CDK exige que você especifique em quais pilhas operar. A configuração StackSelector controla essa seleção.

Seleção de todas as pilhas

Use isso quando quiser operar em todas as pilhas na sua aplicação do CDK:

import { StackSelectionStrategy } from '@aws-cdk/toolkit-lib'; // Select all stacks in the cloud assembly await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } });

Selecione somente pilhas do conjunto principal

Use isso para selecionar somente as pilhas de nível superior do conjunto principal:

// Select only top-level stacks await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.MAIN_ASSEMBLY } });

Seleção de uma pilha única

Use isso quando seu conjunto contiver exatamente uma pilha e você quiser confirmar essa condição. Se o conjunto incluir uma única pilha, ele retornará essa pilha. Caso contrário, ele lançará uma exceção:

// Ensure there's exactly one stack and select it await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ONLY_SINGLE } });

Seleção de pilhas por padrão

Use isso para selecionar pilhas específicas por padrão de nome:

// Select stacks matching specific patterns await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.PATTERN_MUST_MATCH, patterns: ["Dev-*", "Test-Backend"], // Supports wildcards } });
dica

Use PATTERN_MUST_MATCH_SINGLE para garantir que exatamente uma pilha corresponda aos seus padrões ou PATTERN_MATCH se for aceitável que nenhuma pilha corresponda. A correspondência de padrões oferece suporte a curingas como “*” para combinar várias pilhas com nomes semelhantes.

Configuração do tratamento de erros

O Kit de Ferramentas CDK usa erros estruturados para ajudar você a identificar e lidar com problemas. Cada erro inclui:

  • Uma fonte indicando a origem do erro (kit de ferramentas ou usuário).

  • Um tipo de erro específico (autenticação, validação etc.).

  • Uma mensagem descritiva.

Tratamento de erros

Use os métodos auxiliares fornecidos pelo Kit de Ferramentas CDK para detectar e lidar com tipos de erros específicos:

import { ToolkitError } from '@aws-cdk/toolkit-lib'; try { // Attempt a CDK Toolkit operation await toolkit.deploy(cloudAssemblySource, { stacks: { strategy: StackSelectionStrategy.ALL_STACKS } }); } catch (error) { // Handle specific error types if (ToolkitError.isAuthenticationError(error)) { // Example: AWS credentials are missing or invalid console.error('Authentication failed. Check your AWS credentials.'); } else if (ToolkitError.isAssemblyError(error)) { // Example: Your CDK app has errors in stack definitions console.error('CDK app error:', error.message); } else if (ToolkitError.isDeploymentError(error)) { // Example: CloudFormation deployment failed console.error('Deployment failed:', error.message); } else if (ToolkitError.isToolkitError(error)) { // Handle all other Toolkit errors console.error('CDK Toolkit error:', error.message); } else { // Handle unexpected errors console.error('Unexpected error:', error); } }
Importante

Não confie em verificações de instanceof de tipos de erro, pois elas podem se comportar de forma inesperada ao trabalhar com várias cópias do mesmo pacote. Sempre use os métodos auxiliares fornecidos, como ToolkitError.isAuthenticationError().

Configuração de ações do kit de ferramentas

Cada ação do Kit de Ferramentas CDK (implantar, sintetizar, listar etc.) tem suas próprias opções de configuração específicas. Essas ações permitem que você gerencie o ciclo de vida completo da sua infraestrutura do CDK. Para obter informações detalhadas sobre a configuração de ações individuais, consulte Configuração de ações programáticas do Kit de Ferramentas CDK.

dica

Ao criar fluxos de trabalho de automação, considere combinar várias ações em sequência. Por exemplo, talvez você queira synth sua aplicação, list as pilhas para verificar o que será implantado e, em seguida, deploy a infraestrutura.