Questa è la guida per sviluppatori AWS CDK v2. La versione precedente della CDK versione 1 è entrata 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à.
cdk watch
Monitora continuamente un AWS CDK progetto locale per verificare eventuali modifiche, eseguire distribuzioni e hotswap.
Questo comando è simile acdk deploy
, tranne per il fatto che può eseguire distribuzioni e hotswap continui tramite un singolo comando.
Questo comando è una scorciatoia per. cdk deploy --watch
Per terminare una cdk watch
sessione, interrompi il processo premendo. Ctrl+C
I file che vengono osservati sono determinati dall'"watch"
impostazione del cdk.json
file. Ha due sottochiavi "include"
e "exclude"
accetta una singola stringa o un array di stringhe. Ogni voce viene interpretata come un percorso relativo alla posizione del cdk.json
file. Entrambi *
**
sono accettati.
Se create un progetto utilizzando il cdk init
comando, cdk watch
nel cdk.json
file del progetto viene configurato il seguente comportamento predefinito:
-
"include"
è impostato su"**/*"
, che include tutti i file e le directory nella radice del progetto. -
"exclude"
è facoltativo, ad eccezione dei file e delle cartelle già ignorati per impostazione predefinita. È costituito da file e directory che iniziano con.
, la directory di output CDK e la directory.node_modules
L'impostazione minima da configurare watch
è. "watch": {}
Se il codice CDK o il codice dell'applicazione richiedono una fase di compilazione prima della distribuzione, cdk watch
funziona con la "build"
chiave del cdk.json
file.
Nota
Questo comando è considerato sperimentale e potrebbe subire modifiche sostanziali in futuro.
Le stesse limitazioni di cdk deploy --hotswap
si applica acdk watch
. Per ulteriori informazioni, consulta cdk deploy --hotswap
.
Utilizzo
$
cdk watch
<arguments>
<options>
Argomenti
- ID logico dello stack CDK
-
L'ID logico dello stack CDK dall'app da guardare.
▬Tipo: stringa
Required: No
Opzioni
Per un elenco di opzioni globali che funzionano con tutti i CLI comandi CDK, consulta. Opzioni globali
--build-exclude, -E
ARRAY
-
Non ricostruite l'asset con l'ID specificato.
Questa opzione può essere specificata più volte in un unico comando.
Valore predefinito:
[]
--change-set-name
STRING
-
Il nome del set di CloudFormation modifiche da creare.
--concurrency
NUMBER
-
Implementa e sostituisci più stack in parallelo tenendo conto delle dipendenze tra stack. Utilizza questa opzione per velocizzare le implementazioni. È comunque necessario tenere conto di altri CloudFormation limiti di Account AWS velocità.
Fornisci un numero per specificare il numero massimo di distribuzioni simultanee (in base alla dipendenza) da eseguire.
Valore predefinito:
1
--exclusively, -e
BOOLEAN
-
Implementa solo gli stack richiesti e non include le dipendenze.
--force, -f
BOOLEAN
-
Distribuisci sempre gli stack, anche se i modelli sono identici.
Valore predefinito:
false
--help, -h
BOOLEAN
-
Mostra le informazioni di riferimento del
cdk watch
comando. --hotswap
BOOLEAN
-
Per impostazione predefinita,
cdk watch
utilizza distribuzioni hotswap quando possibile per aggiornare le risorse. Il CDK CLI tenterà di eseguire una distribuzione hotswap e non ricorrerà a una distribuzione completa in caso di esito negativo. CloudFormation Tutte le modifiche rilevate che non possono essere aggiornate tramite un hotswap vengono ignorate.Valore predefinito:
true
--hotswap-fallback
BOOLEAN
-
Per impostazione predefinita,
cdk watch
tenta di eseguire distribuzioni hotswap e ignora le modifiche che richiedono implementazioni. CloudFormation Se la distribuzione--hotswap-fallback
hotswap non ha esito positivo, provvedere a eseguire una CloudFormation distribuzione completa. --logs
BOOLEAN
-
Per impostazione predefinita,
cdk watch
monitora tutti i gruppi di CloudWatch log dell'applicazione e trasmette gli eventi di registro localmente a.stdout
Valore predefinito:
true
--progress
STRING
-
Configura il modo in cui il CDK CLI mostra l'avanzamento della distribuzione.
-
bar
— Visualizza gli eventi di distribuzione dello stack come barra di avanzamento, con gli eventi relativi alla risorsa attualmente distribuita. -
events
— Fornisci una cronologia completa, inclusi tutti gli CloudFormation eventi.
Puoi anche configurare questa opzione nel
cdk.json
file del progetto o~/.cdk.json
sul tuo computer di sviluppo locale:{ "progress": "events" }
Valori validi:
bar
,events
Valore predefinito:
bar
-
--rollback
BOOLEAN
-
Durante la distribuzione, se una risorsa non viene creata o aggiornata, la distribuzione tornerà allo stato stabile più recente prima che il CDK CLI ritorni. Tutte le modifiche apportate fino a quel momento verranno annullate. Le risorse create verranno eliminate e gli aggiornamenti apportati verranno ripristinati.
Usa
--no-rollback
o-R
disattiva questo comportamento. Se una risorsa non viene creata o aggiornata, il CDK CLI lascerà invariate le modifiche apportate fino a quel momento e le restituirà. Questo può essere utile negli ambienti di sviluppo in cui si esegue un'iterazione rapida.Nota
Quando
false
, le distribuzioni che causano la sostituzione delle risorse falliranno sempre. È possibile utilizzare questo valore solo per le distribuzioni che aggiornano o creano nuove risorse.Valore predefinito:
true
--toolkit-stack-name
STRING
-
Il nome dello stack CDK Toolkit esistente.
Questa opzione viene utilizzata solo per le app CDK che utilizzano la sintesi precedente.
Esempi
Guarda uno stack CDK con ID logico per le modifiche DevelopmentStack
$
cdk watch DevelopmentStack
Detected change to 'lambda-code/index.js' (type: change). Triggering 'cdk deploy' DevelopmentStack: deploying... ✅ DevelopmentStack
Configura un file cdk.json per sapere cosa includere ed escludere dal controllo delle modifiche
{ "app": "mvn -e -q compile exec:java", "watch": { "include": "src/main/**", "exclude": "target/*" } }
Crea un progetto CDK utilizzandolo Java prima della distribuzione configurando il file cdk.json
{ "app": "mvn -e -q exec:java", "build": "mvn package", "watch": { "include": "src/main/**", "exclude": "target/*" } }