Configurazione dell'istanza CDK Toolkit - AWS Cloud Development Kit (AWS CDK) v2

Questa è la AWS CDK v2 Developer Guide. Il vecchio CDK v1 è entrato in manutenzione il 1° giugno 2022 e ha terminato il supporto il 1° giugno 2023.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione dell'istanza CDK Toolkit

Scopri come personalizzare l'istanza della libreria AWS CDK Toolkit con opzioni per la gestione dei messaggi, la selezione del AWS profilo e le strategie di selezione dello stack. Questa guida spiega le opzioni di configurazione disponibili e come implementarle in modo efficace per soddisfare i requisiti di implementazione specifici.

Configurazione del profilo AWS

Quando utilizzi la CDK Toolkit Library, effettua chiamate API per AWS utilizzare l'SDK. Sebbene l'autenticazione venga caricata automaticamente dal tuo ambiente, puoi specificare esplicitamente quale profilo utilizzare:

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

Configurazione della selezione dello stack

La maggior parte delle azioni di CDK Toolkit richiede di specificare su quali stack operare. La StackSelector configurazione controlla questa selezione.

Seleziona tutte le pile

Usalo quando vuoi operare su ogni stack della tua app CDK:

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

Seleziona solo le pile di assemblaggio principali

Utilizzate questa opzione per selezionare solo le pile di primo livello dall'assieme principale:

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

Selezionate una singola pila

Utilizzatelo quando l'assieme contiene esattamente una pila e desiderate affermare questa condizione. Se l'assieme include una singola pila, restituisce quella pila. Altrimenti, genera un'eccezione:

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

Seleziona le pile per modello

Utilizzatelo per selezionare pile specifiche in base al modello di nome:

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

Utilizzalo PATTERN_MUST_MATCH_SINGLE per assicurarti che una pila corrisponda esattamente ai tuoi modelli, o PATTERN_MATCH se è accettabile che nessuna pila corrisponda. Il pattern matching supporta caratteri jolly come «*» per abbinare più pile con nomi simili.

Configurazione della gestione degli errori

Il CDK Toolkit utilizza errori strutturati per aiutarvi a identificare e gestire i problemi. Ogni errore include:

  • Una fonte che indica l'origine dell'errore (toolkit o utente).

  • Un tipo di errore specifico (autenticazione, convalida, ecc.).

  • Un messaggio descrittivo.

Gestione degli errori

Utilizzate i metodi di supporto forniti da CDK Toolkit per rilevare e gestire tipi di errore specifici:

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

Non affidatevi ai instanceof controlli dei tipi di errore, poiché possono comportarsi in modo imprevisto quando si lavora con più copie dello stesso pacchetto. Usa sempre i metodi di supporto forniti come. ToolkitError.isAuthenticationError()

Configurazione delle azioni del Toolkit

Ogni azione di CDK Toolkit (deploy, synth, list, ecc.) ha le sue opzioni di configurazione specifiche. Queste azioni consentono di gestire l'intero ciclo di vita dell'infrastruttura CDK. Per informazioni dettagliate sulla configurazione delle singole azioni, consulta Configurare le azioni programmatiche di CDK Toolkit.

Suggerimento

Nei flussi di lavoro di automazione degli edifici, prendi in considerazione la possibilità di combinare più azioni in sequenza. Ad esempio, potresti voler verificare synth la tua app, list gli stack per verificare cosa verrà distribuito e quindi deploy l'infrastruttura.