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.