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à.
Utilizzo dello strumento di migrazione AWS CLI v1-v2 per aggiornare la CLI versione 1 alla AWS CLI versione 2 AWS
Questo argomento descrive lo strumento di migrazione AWS CLI v1-v2.
Consigliamo agli utenti della AWS CLI versione 1 di eseguire l'aggiornamento alla versione AWS CLI 2 per accedere a nuove funzionalità e prestazioni migliorate. Esistono cambiamenti nel comportamento tra la versione AWS CLI 1 e la versione AWS CLI 2 che potrebbero richiedere l'aggiornamento degli script o dei comandi per ottenere lo stesso comportamento. Lo strumento di migrazione AWS CLI v1-v2 analizza gli script di bash contenenti i comandi della AWS CLI versione 1 e rileva l'utilizzo di funzionalità che sono state aggiornate con le modifiche più importanti nella versione CLI 2. AWS Inoltre, lo strumento può modificare automaticamente gli script per risolvere la maggior parte dei problemi rilevati. Questo strumento migliora l'esperienza di aggiornamento rilevando e modificando automaticamente i comandi AWS CLI versione 1 negli script di bash per prevenire problemi imprevisti durante l'aggiornamento alla versione 2.
Rispetto alla modalità Upgrade Debug, lo strumento di migrazione AWS CLI v1-v2 è uno strumento autonomo e non richiede l'esecuzione di comandi CLI. AWS Per un confronto completo tra la modalità di debug dell'aggiornamento e lo strumento di migrazione AWS CLI da v1 a v2, vedere in. Utilizzo degli strumenti di migrazione AWS CLI per mitigare le interruzioni Guida alla migrazione per la AWS CLI versione 2
Per ulteriori dettagli, vedere in. Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2 Nuove funzionalità e modifiche nella AWS CLI versione 2
Come funziona
Lo strumento di migrazione AWS CLI v1-to-v2 è un pacchetto Python in grado di lintare script bash che utilizzano la versione 1 della CLI. AWS Essendo un linter statico, non dipende dalla versione 1 della AWS CLI che potresti aver installato sul tuo computer. Il linter viene richiamato tramite la riga di comando, dove il percorso del file locale allo script bash viene fornito come parametro.
Lo strumento di migrazione può anche produrre automaticamente uno script bash modificato che risolve la maggior parte dei risultati rilevati modificando i comandi AWS CLI versione 1 utilizzati nello script. Lo strumento di migrazione modifica i comandi in modo che siano compatibili con la AWS versione 2 e mantiene il comportamento della versione 1.
Per alcuni risultati, lo strumento di migrazione AWS CLI v1-v2 è in grado di rilevarli ma non offre una correzione automatica. In questi casi, lo strumento di migrazione li contrassegna come rilevamenti che richiedono una revisione manuale.
Consulta Limitazioni l'elenco completo delle modifiche più importanti e delle correzioni automatiche supportate dallo strumento di migrazione AWS CLI v1-v2.
Prerequisiti
Python
Per utilizzare questo strumento, è necessario che Python 3.9 o versione successiva sia installato.
Per verificare che sia installata una versione di Python corretta, esegui il seguente comando in un terminale e conferma che l'output mostri una versione di Python di almeno 3.9.
$python3 --version
Se disponi di una versione precedente di Python, o non hai installato Python, puoi scaricare una versione compatibile dalla pagina ufficiale di download di Python
pip
Oltre ad avere una versione compatibile di Python installata, devi pip averla installata.
Per verificare che pip sia installato, esegui il seguente comando:
$python3 -m pip --version
Se l'hai pip installato, vedrai un output simile al seguente:
pip 25.0.1 from ~/.local/lib/python3.13/site-packages (python 3.13)
Se non l'hai pip installato, vedi Installa pip.
Installazione
Installa lo strumento di migrazione AWS CLI v1-to-v2 in un nuovo ambiente virtuale:
$python3 -m venv .venv$source .venv/bin/activate$python3 -m pip install aws-cli-migrate
Utilizzo
Modalità dry-run (impostazione predefinita)
Con la modalità dry-run, puoi rilevare automaticamente i comandi AWS CLI versione 1 soggetti a modifiche sostanziali senza modificare lo script di input:
$migrate-aws-cli --script upload_s3_files.sh
Modalità di correzione automatica
Con la modalità di correzione automatica, puoi rilevare e aggiornare automaticamente i comandi AWS CLI versione 1 nello script di input per mitigare le interruzioni dovute alle modifiche introdotte nella versione AWS CLI 2, ove possibile:
$migrate-aws-cli --script upload_s3_files.sh --fix
Facoltativamente, è possibile fornire un percorso di output tramite il --output parametro per scrivere lo script aggiornato, anziché aggiornare lo script di input:
$migrate-aws-cli --script upload_s3_files.sh --output upload_s3_files_v2.sh --fix
Modalità interattiva
Con la modalità interattiva, puoi rilevare automaticamente i comandi AWS CLI versione 1 soggetti a modifiche sostanziali. La maggior parte dei risultati mostrerà una soluzione suggerita per mitigare le interruzioni nella versione AWS CLI 2. È possibile esaminare le correzioni suggerite e decidere se applicarle. Facoltativamente, fornisci un percorso di output tramite il --output parametro per controllare dove scrivere lo script aggiornato:
$migrate-aws-cli --script upload_s3_files.sh --interactive \ --output upload_s3_files_v2.sh
Il seguente frammento di output è un esempio di ricerca in modalità interattiva:
14 14│
15 15│ aws s3 ls s3://mybucket
16 16│
17 │-aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive
17│+aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive --copy-props none
18 18│
19 19│ TEMPLATE_KEY="cloudformation/$(basename "$TEMPLATE_FILE")"
20 20│
examples/upload_s3_files.sh:17 [s3-copy] In AWS CLI v2, object properties will be copied
from the source in multipart copies between S3 buckets. If a copy is or becomes multipart
after upgrading to AWS CLI v2, extra API calls will be made. See
https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html#cliv2-migration-s3-copy-metadata.
Apply this fix? [y] yes, [n] no, [a] accept all of type, [r] reject all of type, [u] update all,
[s] save and exit, [q] quit:
La correzione suggerita viene mostrata in un formato simile a un Git diff. Lo strumento di migrazione suggerisce la rimozione delle righe che iniziano con a - e suggerisce l'aggiunta di righe che iniziano con a+. Nell'esempio precedente, il suggerimento può essere interpretato come l'aggiunta del --copy-props none parametro al comando AWS CLI versione 1 che esegue una copia di Amazon S3.
Per ogni correzione suggerita, puoi inserire uno dei seguenti controlli:
-
Inserisci
yper accettare la correzione suggerita. -
Invio
nper rifiutare la correzione corrente. -
Invio
aper accettare tutte le correzioni dello stesso tipo. -
Invio
rper rifiutare tutte le correzioni dello stesso tipo. -
Inserisci
uper accettare tutte le correzioni rimanenti. -
Entra
sper salvare e uscire. -
Entra
qper uscire senza salvare.
Alcuni risultati potrebbero essere contrassegnati per la revisione manuale senza suggerire una correzione. Dovresti esaminare questi risultati e verificare se le ultime modifiche citate hanno influito su di te. Se siete interessati da questi risultati, dovreste seguire le indicazioni specificate nella descrizione dei risultati per apportare le modifiche necessarie per evitare o prepararvi alle modifiche sostanziali introdotte nella versione AWS CLI 2.
Limitazioni
Lo strumento di migrazione AWS CLI da v1 a v2 attualmente non supporta tutte le modifiche introdotte con la versione AWS CLI 2 e presenta casi di falsi positivi in cui genera rilevamenti per i comandi anche se non si verificherebbero effettivamente modifiche sostanziali.
Consigliamo vivamente ai clienti di comprendere la pubblicazione in. Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2 Nuove funzionalità e modifiche nella AWS CLI versione 2
Analisi basata su testo
Lo strumento di migrazione analizza lo script senza eseguirlo. Ciò limita il modo in cui rileva i comandi AWS CLI per interrompere le modifiche. Lo strumento di migrazione può esaminare solo il testo di un comando AWS CLI. Non è in grado di rilevare problemi che si presentano in fase di esecuzione, come la memorizzazione di parametri obsoleti in una variabile invece di passarli direttamente alla CLI. AWS
Rilevamento delle modifiche interrotte non supportato
L'entità del supporto per le modifiche sostanziali nello strumento di migrazione è riepilogata nella tabella seguente.