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 della modalità di aggiornamento di debug per aggiornare la versione AWS CLI 1 alla versione AWS CLI 2
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. La modalità di debug di aggiornamento nella versione AWS CLI 1 emette avvisi quando si utilizzano funzionalità che hanno un comportamento diverso nella AWS versione CLI 2. Questa funzionalità migliora l'esperienza di aggiornamento rilevando automaticamente quali comandi della AWS CLI versione 1 devono essere modificati prima dell'aggiornamento alla versione CLI 2 AWS per evitare problemi imprevisti.
Per ulteriori dettagli, consultare Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2.
Quando esegui l'aggiornamento dalla versione AWS CLI 1 alla versione 2, potresti riscontrare Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2 che ciò influisca sugli script e sui flussi di lavoro esistenti. La modalità di debug dell'aggiornamento consente di identificare questi problemi prima di completare la migrazione.
La modalità di debug di aggiornamento rileva quando si utilizzano funzionalità che presentano modifiche sostanziali nella versione AWS CLI 2. Quando si esegue un comando che si interrompe dopo l'aggiornamento, la modalità visualizza un avviso con passaggi specifici per risolvere il problema. Ciò consente di risparmiare tempo individuando automaticamente i potenziali problemi anziché eseguire manualmente la ricerca nel codice.
Come funziona
Se abilitata, la modalità di debug dell'aggiornamento rileva l'utilizzo di funzionalità che sono state aggiornate con modifiche sostanziali nella versione 2 della AWS CLI. Se si utilizza un comando o una funzionalità elencata nel nostro Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2 dopo l'aggiornamento alla versione AWS CLI 2, nell'output verrà visualizzato un avviso. Il rilevamento delle modifiche interrotte si basa sul comando utilizzato, sugli argomenti forniti, sull'ambiente di esecuzione (ad esempio variabili di ambiente, impostazioni di configurazione, ecc.) e, in alcuni casi, sul contenuto o sulla configurazione delle risorse nell' AWS account utilizzato.
L'esempio seguente mostra l'aspetto di questi avvisi. Questo comando illustra un esempio di avviso. Tutto il testo di avviso inizia con "AWS CLI V2 UPGRADE WARNING», seguito dal messaggio di avviso specifico. In questo caso, viene emesso un avviso perché il comando si basa sulla AWS CLI per recuperare il contenuto dell'URL e utilizzare il contenuto come valore --template-body del parametro, una funzionalità rimossa nella versione AWS CLI 2.
L'esempio seguente mostra l'aspetto di un avviso:
$ aws cloudformation create-stack \ --stack-name "stack012345" \ --template-body "https://s3.amazonaws.com/amzn-s3-demo-bucket/template.json" AWS CLI v2 UPGRADE WARNING: For input parameters that have a prefix of http:// or https://, AWS CLI v2 will not automatically request the content of the URL for the parameter, and the `cli_follow_urlparam` option has been removed. See https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html#cliv2-migration-paramfile.
La seguente tabella di tutte le modifiche sostanziali e di come evitare di dover affrontare modifiche sostanziali nella versione AWS CLI 2. Le azioni correttive che risolvono gli avvisi in modalità debug sono in grassetto.
| Cambiamento decisivo | Sulla v1, esegui la migrazione al comportamento v2 | Sulla v2, mantieni il comportamento v1 |
|---|---|---|
| Aggiunta di una variabile di ambiente per impostare la codifica dei file di testo | Annulla l'impostazione delle variabili di PYTHONUTF8 ambiente. PYTHONIOENCODING |
Imposta la variabile di AWS_CLI_FILE_ENCODING ambiente sulla codifica specificata in v1. |
| Per impostazione predefinita, i parametri binari vengono passati come stringhe con codifica Base64. | Codifica il valore del parametro con base64. Se il parametro viene caricato da un file, codificate il contenuto del file con base64. | Imposta l'impostazione su. cli_binary_format raw-in-base64-out |
| Gestione migliorata delle proprietà e dei tag dei file per copie in più parti in Amazon S3 | N/A. Impossibile migrare al comportamento della versione 2 nella versione 1. | Utilizzo del parametro --copy-props none. |
| Nessun recupero automatico di http:// o per i parametri https:// URLs | Usa curl (o strumenti alternativi) per scaricare il contenuto di in un file locale URLs . Quindi, carica il contenuto del file nel parametro con file://. In alternativa, configurate su false cli_follow_urlparam per specificare l'URL non elaborato come valore del parametro. |
N/A. Impossibile mantenere il comportamento della versione 1 nella versione 2. |
| Pager utilizzato per impostazione predefinita per tutto l’output | N/A. Impossibile migrare al comportamento della versione 2 nella versione 1. | Imposta l'cli_pagerimpostazione o la AWS_PAGER variabile su una stringa vuota. |
| I valori di output del timestamp sono standardizzati sul formato ISO 8601 | Imposta l'impostazione cli_timestamp _format suiso8601. |
Imposta l'cli_timestamp_formatimpostazione su wire. |
| Migliore gestione delle CloudFormation distribuzioni che non comportano modifiche | Usa il --no-fail-on-empty-changeset parametro. |
Utilizzo del parametro --fail-on-empty-changeset. |
| Modifica del comportamento predefinito per l’endpoint Amazon S3 regionale per la Regione us-east-1 | Imposta la variabile di AWS_ENDPOINT_URL_S3 ambiente o l'opzione della riga di --endpoint-url comando sull'URL regionale us-east-1. |
Usa l'opzione della --region aws-global riga di comando. |
| ecr get-login rimosso e sostituito con ecr get-login-password | (1.17.10 o successivo) Usa ecr get-login rimosso e sostituito con ecr get-login-password e reindirizza l'output a un comando docker. | N/A. Impossibile mantenere il comportamento della versione 1 nella versione 2. |
| AWS CLI il supporto della versione 2 per i plugin sta cambiando | N/A. Impossibile migrare al comportamento della versione 2 nella versione 1. | Configura cli_legacy_plugin_path nella sezione del file di configurazione. [plugins] Prova i plugin nella versione 2, blocca la versione 2 e testa i plugin ogni volta che esegui l'aggiornamento. |
| Rimozione del supporto per gli alias nascosti | Passa dall'uso dell'alias nascosto obsoleto a Rimozione del supporto per gli alias nascosti quello che funziona in tutte le versioni. | N/A. Impossibile mantenere il comportamento della versione 1 nella versione 2. |
| L’impostazione del file di configurazione api_versions non è supportata | Migra e testa l'utilizzo delle versioni API precedenti alla versione API più recente e rimuovi api_versions dalle impostazioni di configurazione. | N/A. Impossibile mantenere il comportamento della versione 1 nella versione 2. |
| AWS CLI la versione 2 utilizza solo Signature v4 per autenticare le richieste Amazon S3 | Specificare la versione della firma nella versione 4 (vedere Specificazione della versione della firma nella richiesta di autenticazione). | N/A. Impossibile mantenere il comportamento della versione 1 nella versione 2. |
| AWS CLI la versione 2 è più coerente con i parametri di paging | Sposta i parametri di impaginazione nel parametro JSON di input nel comando stesso. | Rimuovi i parametri di impaginazione dal parametro JSON di input. |
| AWS CLI la versione 2 fornisce codici di ritorno più coerenti per tutti i comandi | N/A. Impossibile migrare al comportamento della versione 2 nella versione 1. | N/A. Impossibile mantenere il comportamento della versione 1 nella versione 2. |
Limitazioni
Consigliamo vivamente ai clienti di recensire il nostro. Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2
Rilevamento di Breaking Change non supportato
La funzionalità della modalità di debug di aggiornamento supporta tutte le modifiche sostanziali tranne quella. AWS CLI la versione 2 fornisce codici di ritorno più coerenti per tutti i comandi Questa modalità non può tenere conto del modo in cui utilizzi i codici di errore restituiti dalla AWS CLI downstream.
Rilevamento condizionale delle modifiche di interruzione
Il rilevamento di I valori di output del timestamp sono standardizzati sul formato ISO 8601 è l'unico caso in cui il rilevamento dipende dallo stato dell' AWS account e può essere soggetto a modifiche sostanziali se le risorse dell'account vengono aggiornate in un secondo momento. Se nella risposta API del servizio non è incluso alcun timestamp, non verrà effettuata alcuna rilevazione di questa modifica sostanziale.
Se ti affidi al formato timestamp restituito dai comandi AWS CLI e non hai già configurato la AWS CLI per utilizzare ISO 8601, prendi ulteriori precauzioni per assicurarti che l'elaborazione del timestamp non si interrompa dopo l'aggiornamento alla versione 2.
Rilevamento di modifiche irrisolvibili
Alcuni avvisi emessi dalla modalità di debug dell'aggiornamento non possono essere risolti modificando il comando o l'ambiente. I casi seguenti sono casi in cui gli avvisi verrebbero sempre emessi dalla modalità di debug dell'aggiornamento purché si utilizzi la funzionalità corrispondente:
-
AWS CLI il supporto della versione 2 per i plugin sta cambiando- se ci si affida ai plugin nel file di configurazione, la modalità di debug dell'aggiornamento emetterà sempre un avviso che non può essere risolto. Questa modalità non può garantire che uno dei tuoi plugin funzioni nella versione AWS CLI 2.
-
Gestione migliorata delle proprietà e dei tag dei file per copie in più parti in Amazon S3 - se
aws s3viene utilizzato per eseguire una copia di bucket-to-bucket Amazon Amazon S3, la modalità di debug dell'upgrade emetterà sempre un avviso che non può essere risolto.
Falsi rilevamenti
Gli avvisi emessi dalla modalità di debug dell'aggiornamento non garantiscono che vengano apportate modifiche sostanziali dopo l'aggiornamento a AWS CLI v2. Di seguito sono riportati i casi in cui gli avvisi verrebbero emessi dalla modalità di debug di aggiornamento, nonostante non sia stata introdotta alcuna modifica sostanziale in CLI v2 AWS :
-
Aggiunta di una variabile di ambiente per impostare la codifica dei file di testo- se le variabili
PYTHONUTF8o diPYTHONIOENCODINGambiente sono specificate per impostare la codifica del file di testo e la codifica specificata corrisponde già alla locale installata, l'avviso potrebbe essere un falso rilevamento poiché la modalità di debug non verifica se la codifica corrisponde alla locale installata. -
Gestione migliorata delle proprietà e dei tag dei file per copie in più parti in Amazon S3 - se
aws s3viene utilizzato per eseguire una copia di bucket-to-bucket Amazon Amazon S3 e la copia non è multiparte perché l'oggetto di origine è al di sotto della soglia multiparte, verrà emesso un falso rilevamento. -
I valori di output del timestamp sono standardizzati sul formato ISO 8601- se l'impostazione di configurazione cli_timestamp_format è impostata su wire (impostazione predefinita) e il servizio restituisce un timestamp in formato ISO 8601.
-
Migliore gestione delle CloudFormation distribuzioni che non comportano modifiche- se il
--fail-on-empty-changesetflag viene utilizzato con ilaws cloudformation deploycomando e il changeset risultante è vuoto, verrà emesso un falso rilevamento. Inoltre, se il changeset non è vuoto e non viene utilizzato,--no-fail-on-empty-changesetverrà emesso un falso rilevamento. -
Modifica del comportamento predefinito per l’endpoint Amazon S3 regionale per la Regione us-east-1- se
aws s3oaws s3apiviene utilizzato per eseguire un'operazione Amazon S3 e la regione è configurata a livello regionale e las3.us_east_1_regional_endpointconfigurazione non è configurata aus-east-1livello regionale e l'endpoint Amazon S3 globale viene utilizzato per la richiesta a causa delle impostazioni di configurazione dell'endpoint, l'avviso potrebbe essere un falso rilevamento, poiché la modalità di debug non verifica le impostazioni degli endpoint configurati.
Configura la modalità di debug per l'aggiornamento
È possibile abilitare o disabilitare la modalità di debug dell'aggiornamento utilizzando i seguenti metodi, elencati in ordine di precedenza:
-
Le opzioni della riga di comando abilitano o disabilitano la modalità di debug dell'aggiornamento per un singolo comando. Usa --v2-debug per usare la modalità di debug di aggiornamento.
-
Le variabili di ambiente utilizzano la variabile _UPGRADE_DEBUG_MODE. AWS_CLI