

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
<a name="cli-migration-tool"></a>

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](cliv2-migration.md#using-migration-tools) [Guida alla migrazione per la AWS CLI versione 2](cliv2-migration.md)

Per ulteriori dettagli, vedere in. [Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2](cliv2-migration-changes.md#cliv2-migration-changes-breaking) [Nuove funzionalità e modifiche nella AWS CLI versione 2](cliv2-migration-changes.md)

## Come funziona
<a name="migration-tool-how-it-works"></a>

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](#migration-tool-limitations) l'elenco completo delle modifiche più importanti e delle correzioni automatiche supportate dallo strumento di migrazione AWS CLI v1-v2.

## Prerequisiti
<a name="migration-tool-prerequisites"></a>

### Python
<a name="migration-tool-prerequisites-python"></a>

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](https://www.python.org/downloads/).

### pip
<a name="migration-tool-prerequisites-pip"></a>

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.](https://docs.aws.amazon.com/cli/v1/userguide/install-linux.html#install-linux-pip-pip)

## Installazione
<a name="migration-tool-installation"></a>

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
<a name="migration-tool-usage"></a>

### Modalità dry-run (impostazione predefinita)
<a name="migration-tool-usage-dryrun"></a>

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
<a name="migration-tool-usage-autofix"></a>

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
<a name="migration-tool-usage-interactive"></a>

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
<a name="migration-tool-limitations"></a>

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](cliv2-migration-changes.md#cliv2-migration-changes-breaking) [Nuove funzionalità e modifiche nella AWS CLI versione 2](cliv2-migration-changes.md)

### Analisi basata su testo
<a name="migration-tool-limitations-static-linter"></a>

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
<a name="migration-tool-limitations-unsupported-changes"></a>

L'entità del supporto per le modifiche sostanziali nello strumento di migrazione è riepilogata nella tabella seguente.


| Cambiamento rivoluzionario | Rilevamento supportato | Correzione automatica supportata | 
| --- | --- | --- | 
| [Aggiunta di una variabile di ambiente per impostare la codifica dei file di testo](cliv2-migration-changes.md#cliv2-migration-encodingenvvar) | No | No | 
| [Per impostazione predefinita, i parametri binari vengono passati come stringhe con codifica Base64.](cliv2-migration-changes.md#cliv2-migration-binaryparam) | Sì | Sì | 
| [Gestione migliorata delle proprietà e dei tag dei file per copie in più parti in Amazon S3](cliv2-migration-changes.md#cliv2-migration-s3-copy-metadata) | Sì | Sì | 
| [Nessun recupero automatico di `http://` o per i parametri `https://` URLs](cliv2-migration-changes.md#cliv2-migration-paramfile) | No | No | 
| [Pager utilizzato per impostazione predefinita per tutto l’output](cliv2-migration-changes.md#cliv2-migration-output-pager) | Sì | Sì | 
| [I valori di output del timestamp sono standardizzati sul formato ISO 8601](cliv2-migration-changes.md#cliv2-migration-timestamp) | No | No | 
| [Migliore gestione delle CloudFormation distribuzioni che non comportano modifiche](cliv2-migration-changes.md#cliv2-migration-cfn) | Sì | Sì | 
| [Modifica del comportamento predefinito per l’endpoint Amazon S3 regionale per la Regione `us-east-1`](cliv2-migration-changes.md#cliv2-migration-s3-regional-endpoint) | No | No | 
| [Comportamento predefinito modificato per gli endpoint regionali AWS STS](cliv2-migration-changes.md#cliv2-migration-sts-regional-endpoint) | No | No | 
| [`ecr get-login` rimosso e sostituito con `ecr get-login-password`](cliv2-migration-changes.md#cliv2-migration-ecr-get-login) | Sì | No | 
| [AWS CLI il supporto della versione 2 per i plugin sta cambiando](cliv2-migration-changes.md#cliv2-migration-profile-plugins) | No | No | 
| [Rimozione del supporto per gli alias nascosti](cliv2-migration-changes.md#cliv2-migration-aliases) | Sì | Sì | 
| [L’impostazione del file di configurazione `api_versions` non è supportata](cliv2-migration-changes.md#cliv2-migration-api-versions) | No | No | 
| [AWS CLI la versione 2 utilizza solo Signature v4 per autenticare le richieste Amazon S3](cliv2-migration-changes.md#cliv2-migration-sigv4) | No | No | 
| [AWS CLI la versione 2 è più coerente con i parametri di paging](cliv2-migration-changes.md#cliv2-migration-skeleton-paging) | Sì | No | 
| [AWS CLI la versione 2 fornisce codici di ritorno più coerenti per tutti i comandi](cliv2-migration-changes.md#cliv2-migration-return-codes) | No | No | 