Utilizzo dello strumento di migrazione AWS CLI v1-v2 per aggiornare la CLI versione 1 alla AWS CLI versione 2 AWS - AWS Command Line Interface

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 y per accettare la correzione suggerita.

  • Invio n per rifiutare la correzione corrente.

  • Invio a per accettare tutte le correzioni dello stesso tipo.

  • Invio r per rifiutare tutte le correzioni dello stesso tipo.

  • Inserisci u per accettare tutte le correzioni rimanenti.

  • Entra s per salvare e uscire.

  • Entra q per 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.