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.