

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

# Configuração da sua instância do Kit de Ferramentas CDK
<a name="toolkit-library-configure"></a>

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
<a name="toolkit-library-configure-profile"></a>

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 name="toolkit-library-configure-stacks"></a>

A maioria das ações do Kit de Ferramentas CDK exige que você especifique em quais pilhas operar. A configuração ` [StackSelector](https://docs.aws.amazon.com/cdk/api/toolkit-lib/Package/toolkit-lib/Interface/StackSelector/) ` controla essa seleção.

### Seleção de todas as pilhas
<a name="toolkit-library-configure-stacks-all"></a>

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
<a name="toolkit-library-configure-stacks-main"></a>

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
<a name="toolkit-library-configure-stacks-single"></a>

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
<a name="toolkit-library-configure-stacks-pattern"></a>

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
<a name="toolkit-library-configure-errors"></a>

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
<a name="toolkit-library-configure-errors-how"></a>

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
<a name="toolkit-library-configure-actions"></a>

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](toolkit-library-actions.md).

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