Configurando sua instância do CDK Toolkit - AWS Kit de desenvolvimento em nuvem (AWS CDK) 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.

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á.

Configurando sua instância do CDK Toolkit

Saiba como personalizar sua instância da AWS CDK Toolkit Library com opções para tratamento de mensagens, seleção de AWS perfil 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.

Configurando seu perfil AWS

Quando você usa a CDK Toolkit Library, ela faz chamadas de API para AWS usar o SDK. Embora a autenticação seja carregada automaticamente do seu ambiente, você pode 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" }, });

Configurando a seleção da pilha

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

Selecione todas as pilhas

Use isso quando quiser operar em todas as pilhas do seu aplicativo 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 as pilhas de montagem principais

Use isso para selecionar somente as pilhas de nível superior da montagem principal:

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

Selecione uma única pilha

Use isso quando sua montagem contiver exatamente uma pilha e você quiser afirmar essa condição. Se a montagem incluir uma única pilha, ela retornará essa pilha. Caso contrário, ele gerará uma exceção:

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

Selecione 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 é aceitável que nenhuma pilha corresponda. A correspondência de padrões suporta curingas como “*” para combinar várias pilhas com nomes semelhantes.

Configurando o tratamento de erros

O CDK Toolkit 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 CDK Toolkit 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 instanceof verificações 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, comoToolkitError.isAuthenticationError().

Configurando ações do Toolkit

Cada ação do CDK Toolkit (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 de CDK. Para obter informações detalhadas sobre a configuração de ações individuais, consulte Configurar ações programáticas do CDK Toolkit.

dica

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