Utilizzo della modalità di aggiornamento di debug per aggiornare la versione AWS CLI 1 alla versione AWS CLI 2 - 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 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:

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 :

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: