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à.
Nuove funzionalità e modifiche nella AWS CLI versione 2
Questo argomento descrive le nuove funzionalità e i cambiamenti di comportamento tra la AWS CLI versione 1 e AWS CLI la versione 2. In seguito a queste modifiche, potrebbe essere necessario aggiornare gli script o i comandi per ottenere nella versione 2 un comportamento che era previsto nella versione 1.
Argomenti
AWS CLI nuove funzionalità della versione 2
La AWS CLI versione 2 è la versione principale più recente di AWS CLI e supporta tutte le funzionalità più recenti. Alcune funzionalità introdotte nella versione 2 non sono compatibili con la versione 1 ed è necessario eseguire l’aggiornamento per accedere a tali funzionalità. Le caratteristiche principali comprendono:
- Non è necessario un interprete Python
-
La AWS CLI versione 2 non richiede un'installazione separata di Python. Include una versione incorporata.
- Procedure guidate
-
È possibile utilizzare una procedura guidata con la AWS CLI versione 2. La procedura guidata illustra come costruire determinati comandi.
- Autenticazione in Centro identità IAM
-
Se la tua organizzazione utilizza AWS IAM Identity Center (IAM Identity Center), i tuoi utenti possono accedere ad Active Directory, a una directory IAM Identity Center integrata o a un altro IdP connesso a IAM Identity Center. Quindi, vengono mappati su un ruolo AWS Identity and Access Management (IAM) che consente di eseguire AWS CLI comandi.
- Prompt automatico
-
Se abilitata, la AWS CLI versione 2 può richiedere comandi, parametri e risorse quando si esegue un
awscomando. - Esecuzione delle immagini ufficiali di Amazon ECR Public o Docker per la AWS CLI
-
L'immagine Docker ufficiale di AWS CLI fornisce isolamento, portabilità e sicurezza che supporta e mantiene AWS direttamente. In questo modo, puoi utilizzare la AWS CLI versione 2 in un ambiente basato su container senza dover gestire personalmente l'installazione.
- Pager lato client
-
La AWS CLI versione 2 prevede l'uso di un programma pager lato client per l'output. Per impostazione predefinita, questa funzionalità è attivata e restituisce tutto l’output attraverso il programma pager predefinito del sistema operativo.
- aws configure import
-
Importa le credenziali
.csvgenerate dalla Console di gestione AWS. Viene importato un file.csvcon il nome del profilo corrispondente al nome utente IAM. aws configure list-profiles-
Elenca i nomi di tutti i profili che hai configurato.
- Formato di output dei flussi YAML
-
Il formato
yamleyaml-streamsfrutta il formato YAMLfornendo al contempo una visualizzazione più reattiva di set di dati di grandi dimensioni mediante lo streaming dei dati. È possibile iniziare a visualizzare e utilizzare i dati YAML prima del download dell’intera query. - Nuovi comandi
ddbdi alto livello per DynamoDB -
La AWS CLI versione 2 include i comandi Amazon
ddb putddb selectDynamoDB di alto livello e. Questi comandi forniscono un’interfaccia semplificata per inserire elementi nelle tabelle DynamoDB ed eseguire ricerche in una tabella o in un indice DynamoDB. aws logs tail-
La AWS CLI versione 2 include un
aws logs tailcomando personalizzato che traccia i log per un gruppo Amazon CloudWatch Logs. Per impostazione predefinita, il comando restituisce i log di tutti i flussi di CloudWatch Logs associati degli ultimi dieci minuti. - È stato aggiunto il supporto dei metadati per i comandi s3 di alto livello
-
La AWS CLI versione 2 aggiunge il
--copy-propsparametro ai comandi di alto livello.s3Questo parametro consente di configurare metadati e tag aggiuntivi per Amazon Simple Storage Service (Amazon S3). - AWS_REGION
-
La AWS CLI versione 2 ha una variabile di ambiente AWS compatibile con SDK chiamata.
AWS_REGIONQuesta variabile specifica a cui Regione AWS inviare le richieste. Sostituisce la variabile di ambienteAWS_DEFAULT_REGION, che è applicabile solo nella AWS CLI.
Interruzione delle modifiche tra AWS CLI la versione 1 e la AWS CLI versione 2
Questa sezione descrive tutte le modifiche di comportamento tra la AWS CLI versione 1 e la AWS CLI versione 2. In seguito a queste modifiche, potrebbe essere necessario aggiornare gli script o i comandi per ottenere nella versione 2 un comportamento che era previsto nella versione 1.
Argomenti
Aggiunta di una variabile di ambiente per impostare la codifica dei file di testo
Per impostazione predefinita, i parametri binari vengono passati come stringhe con codifica Base64.
Gestione migliorata delle proprietà e dei tag dei file per copie in più parti in Amazon S3
Nessun recupero automatico di http:// o per i parametri https:// URLs
Pager utilizzato per impostazione predefinita per tutto l’output
I valori di output del timestamp sono standardizzati sul formato ISO 8601
Migliore gestione delle CloudFormation distribuzioni che non comportano modifiche
Modifica del comportamento predefinito per l’endpoint Amazon S3 regionale per la Regione us-east-1
Comportamento predefinito modificato per gli endpoint regionali AWS STS
ecr get-login rimosso e sostituito con ecr get-login-password
AWS CLI il supporto della versione 2 per i plugin sta cambiando
L’impostazione del file di configurazione api_versions non è supportata
AWS CLI la versione 2 utilizza solo Signature v4 per autenticare le richieste Amazon S3
AWS CLI la versione 2 è più coerente con i parametri di paging
AWS CLI la versione 2 fornisce codici di ritorno più coerenti per tutti i comandi
Aggiunta di una variabile di ambiente per impostare la codifica dei file di testo
Per impostazione predefinita, i file di testo per Blob utilizzano la stessa codifica delle impostazioni locali installate. Poiché la AWS CLI versione 2 utilizza una versione incorporata di Python, le variabili di PYTHONIOENCODING ambiente PYTHONUTF8 e non sono supportate. Per impostare la codifica per i file di testo in modo che sia diversa dalle impostazioni locali, utilizzare la variabile di ambiente AWS_CLI_FILE_ENCODING. L'esempio seguente imposta l'apertura AWS CLI di file di testo UTF-8 in Windows.
AWS_CLI_FILE_ENCODING=UTF-8
Per ulteriori informazioni, consulta Configurazione delle variabili d’ambiente per AWS CLI.
Per impostazione predefinita, i parametri binari vengono passati come stringhe con codifica Base64.
In AWS CLI, alcuni comandi richiedevano stringhe di byte con codifica in base64
Per impostazione predefinita, la AWS CLI versione 2 passa tutti i parametri binari di input e output binari come stringa blobs con codifica Base64 (binary large object). Per ulteriori informazioni, consulta Blob.
Per ripristinare il comportamento della AWS CLI versione 1, utilizzate la configurazione del file o il cli_binary_format parametro. --cli-binary-format
Gestione migliorata delle proprietà e dei tag dei file per copie in più parti in Amazon S3
Quando si utilizzano i comandi della AWS CLI versione 1 nello spazio dei aws s3 nomi per copiare un file da una posizione del bucket S3 a un'altra e tale operazione utilizza la copia in più parti, nessuna proprietà del file dall'oggetto di origine viene copiata nell'oggetto di destinazione.
Per impostazione predefinita, i comandi corrispondenti nella AWS CLI versione 2 trasferiscono tutti i tag e alcune proprietà dalla copia di origine a quella di destinazione. Rispetto alla AWS CLI versione 1, ciò può comportare un maggior numero di chiamate AWS API all'endpoint Amazon S3. Per modificare il comportamento predefinito dei s3 comandi nella AWS CLI versione 2, usa il --copy-props parametro.
Per ulteriori informazioni, consulta Proprietà e tag dei file nelle copie in più parti.
Nessun recupero automatico di http:// o per i parametri https:// URLs
La AWS CLI versione 2 non esegue un'GEToperazione quando il valore di un parametro inizia con http:// o https:// e non utilizza il contenuto restituito come valore del parametro. Di conseguenza, l'opzione della riga di comando associata cli_follow_urlparam viene rimossa dalla AWS CLI versione 2.
Se è necessario recuperare un URL e passare il contenuto dell’URL come valore di un parametro, è consigliabile utilizzare curl o uno strumento simile per scaricare il contenuto dell’URL in un file locale. Quindi puoi utilizzare la sintassi file:// per leggere il contenuto di quel file e utilizzarlo come valore del parametro.
Ad esempio, il comando seguente non tenta più di recuperare il contenuto della pagina trovata all'indirizzo http://www.example.com e passare tali contenuto come parametro. Invece, passa la stringa di testo letterale https://example.com come parametro.
$ aws ssm put-parameter \
--value http://www.example.com \
--name prod.microservice1.db.secret \
--type String 2
Per recuperare e utilizzare il contenuto di un URL Web come parametro, puoi procedere nel modo seguente nella versione 2.
$curl https://my.example.com/mypolicyfile.json -o mypolicyfile.json$aws iam put-role-policy \ --policy-document file://./mypolicyfile.json \ --role-name MyRole \ --policy-name MyReadOnlyPolicy
Nell’esempio precedente, il parametro -o indica a curl di salvare il file nella cartella corrente con lo stesso nome del file di origine. Il secondo comando recupera il contenuto di tale file scaricato e lo passa come il valore di --policy-document.
Pager utilizzato per impostazione predefinita per tutto l’output
Per impostazione predefinita, la AWS CLI versione 2 restituisce tutto l'output tramite il programma pager predefinito del sistema operativo. Questo programma è lessmore
È possibile configurare la AWS CLI versione 2 per utilizzare un programma di paging diverso o non utilizzarne affatto. Per ulteriori informazioni, consulta Pager lato client.
I valori di output del timestamp sono standardizzati sul formato ISO 8601
Per impostazione predefinita, la AWS CLI versione 2 restituisce tutti i valori di risposta del timestamp nel formato ISO 8601
Per visualizzare i timestamp nel formato restituito dalla risposta dell’API HTTP, aggiungi il valore wire nel file config. Per ulteriori informazioni, consulta cli_timestamp_format.
Migliore gestione delle CloudFormation distribuzioni che non comportano modifiche
Per impostazione predefinita, nella AWS CLI versione 1, se si distribuisce un CloudFormation modello che non comporta modifiche, AWS CLI restituisce un codice di errore non riuscito. Questo causa problemi se non lo consideri un errore e desideri che il tuo script continui. È possibile ovviare a questo problema nella AWS CLI versione 1 aggiungendo il flag-–no-fail-on-empty-changeset, che restituisce0.
Poiché si tratta di un caso d'uso comune, la AWS CLI versione 2 restituisce per impostazione predefinita un codice di uscita corretto, vale a dire 0 quando non vi sono modifiche causate da una distribuzione e l'operazione restituisce un set di modifiche vuoto.
Per ripristinare il comportamento originale, aggiungi il flag --fail-on-empty-changeset.
Modifica del comportamento predefinito per l’endpoint Amazon S3 regionale per la Regione us-east-1
Quando si configura la AWS CLI versione 1 per utilizzare la us-east-1 regione, AWS CLI
utilizza l's3.amazonaws.com.rproxy.govskope.caendpoint globale ospitato fisicamente nella regione. us-east-1 La AWS CLI versione 2 utilizza il vero endpoint regionale s3.us-east-1.amazonaws.com quando viene specificata tale regione. Per forzare la AWS CLI versione 2 a utilizzare l'endpoint globale, puoi impostare la Regione per un comando su. aws-global
Comportamento predefinito modificato per gli endpoint regionali AWS STS
Per impostazione predefinita, la AWS CLI versione 2 invia tutte le richieste API AWS Security Token Service (AWS STS) all'endpoint regionale per quanto attualmente configurato. Regione AWS
Per impostazione predefinita, qualsiasi versione precedente della 1.42.0 AWS CLI versione 1 invia AWS STS
richieste all' AWS STS endpoint globale. È possibile controllare questo comportamento predefinito nella versione 1 utilizzando l’impostazione sts_regional_endpoints.
Tutte le versioni successive o successive 1.42.0 utilizzano l'endpoint regionale come impostazione predefinita. Se si esegue la migrazione alla AWS CLI versione 2 da queste versioni più recenti, questo comportamento rimane invariato.
ecr get-login rimosso e sostituito con ecr get-login-password
La AWS CLI versione 2 sostituisce il comando aws ecr get-login con il aws
ecr get-login-password comando che migliora l'integrazione automatica con l'autenticazione dei contenitori.
Il comando aws ecr get-login-password riduce il rischio di esporre le credenziali nell'elenco dei processi, nella cronologia della shell o in altri file di log. Migliora anche la compatibilità con il comando docker login per migliorare l’automazione.
Il aws ecr get-login-password comando è disponibile nella AWS CLI versione 1.17.10 e successive e nella AWS CLI versione 2. Il aws ecr get-login comando precedente è ancora disponibile nella AWS CLI versione 1 per motivi di compatibilità con le versioni precedenti.
Con il comando aws ecr get-login-password è possibile sostituire il codice seguente che recupera una password.
$(aws ecr get-login --no-include-email)
Per ridurre il rischio di esporre la password alla cronologia o ai log della shell, utilizza invece il seguente comando di esempio. In questo esempio, la password viene reindirizzata direttamente al comando docker login, dove viene assegnata al parametro password tramite l'opzione --password-stdin.
$aws ecr get-login-password | docker login --username AWS--password-stdinMY-REGISTRY-URL
Per ulteriori informazioni, consulta aws ecr get-login-password nella Guida di riferimento alla versione 2 della AWS CLI .
AWS CLI il supporto della versione 2 per i plugin sta cambiando
Il supporto per i plugin nella AWS CLI versione 2 è completamente provvisorio e ha lo scopo di aiutare gli utenti a migrare dalla AWS CLI versione 1 fino al rilascio di un'interfaccia plugin stabile e aggiornata. Non ci sono garanzie che un particolare plug-in o l'interfaccia del AWS CLI plug-in siano supportati nelle future versioni della AWS CLI versione 2. Se ti affidi ai plugin, assicurati di collegarti a una versione particolare del plug-in AWS CLI e di testarne la funzionalità quando esegui l'aggiornamento.
Per abilitare il supporto plugin, crea una sezione [plugins] in ~/.aws/config.
[plugins] cli_legacy_plugin_path =<path-to-plugins>/python3.7/site-packages<plugin-name>=<plugin-module>
Nella sezione [plugins], definisci la variabile cli_legacy_plugin_path e imposta il suo valore sul percorso dei pacchetti del sito Python in cui si trova il modulo plugin. Puoi quindi configurare un plugin fornendo un nome per il plugin (plugin-name) e il nome file del modulo Python (plugin-module) che contiene il codice sorgente per il plugin. AWS CLI Carica ogni plugin importandone plugin-module e chiamando la sua funzione. awscli_initialize
Rimozione del supporto per gli alias nascosti
AWS CLI la versione 2 non supporta più i seguenti alias nascosti che erano supportati nella versione 1.
Nella tabella seguente, la prima colonna mostra il servizio, il comando e il parametro che funzionano in tutte le versioni, inclusa la AWS CLI versione 2. La seconda colonna mostra l'alias che non funziona più nella AWS CLI versione 2.
| Servizio, comando e parametro che funzionano | Alias obsoleto |
|---|---|
| cognito-identity create-identity-pool open-id-connect-provider -arns | open-id-connect-provider-ar-ns |
| storagegateway describe-tapes tape-arns | tape-ar-ns |
| gateway di archiviazione. describe-tape-archives.tape-arns | tape-ar-ns |
| gateway di archiviazione. describe-vtl-devices. vtl-device-arns | vtl-device-ar-ns |
| gateway di archiviazione. describe-cached-iscsi-volumes.volume-arns | volume-ar-ns |
| gateway di archiviazione. describe-stored-iscsi-volumes.volume-arns | volume-ar-ns |
| route53domains.view-billing.start-time | rapida |
| dispiegare. create-deployment-group.ec2-tag-set | ec-2-tag-set |
| dispiegare. list-application-revisions.s3-bucket | s-3-bucket |
| dispiegare. list-application-revisions.prefisso a 3 chiavi | s-3-key-prefix |
| distribuire. update-deployment-group.ec2-tag-set | ec-2-tag-set |
| obiettivo. enable-mfa-device.codice di autenticazione1 | authentication-code-1 |
| io. enable-mfa-device.codice di autenticazione2 | authentication-code-2 |
| io. resync-mfa-device.codice di autenticazione1 | authentication-code-1 |
| io. resync-mfa-device.codice di autenticazione2 | authentication-code-2 |
| importare/esportare. get-shipping-label.via 1 | street-1 |
| importazione/esportazione. get-shipping-label.strada 2 | street-2 |
| importazione/esportazione. get-shipping-label.strada 3 | street-3 |
| lambda.publish-version.code-sha256 | code-sha-256 |
| vela leggera. import-key-pair. public-key-base64 | public-key-base-64 |
| opsworks.register-volume.ec2-volume-id | ec-2-volume-id |
L’impostazione del file di configurazione api_versions non è supportata
La AWS CLI versione 2 non supporta la chiamata a versioni precedenti del AWS servizio APIs utilizzando l'impostazione del file api_versions di configurazione. Tutti AWS CLI i comandi ora richiamano la versione più recente del servizio APIs attualmente supportata dall'endpoint.
AWS CLI la versione 2 utilizza solo Signature v4 per autenticare le richieste Amazon S3
La AWS CLI versione 2 non supporta algoritmi di firma precedenti per autenticare crittograficamente le richieste di servizio inviate agli endpoint Amazon S3. Questo processo di firma avviene automaticamente a ogni richiesta Amazon S3 ed è supportato solo il processo di firma Signature Version 4. Non è possibile configurare la versione della firma. Tutti i bucket Amazon S3 predefiniti URLs ora utilizzano solo SigV4 e hanno una durata di scadenza massima di una settimana.
AWS CLI la versione 2 è più coerente con i parametri di paging
Nella AWS CLI versione 1, se si specificano i parametri di impaginazione sulla riga di comando, l'impaginazione automatica viene disattivata come previsto. Quando invece si specificano i parametri di paginazione utilizzando un file con il parametro ‐‐cli-input-json, la paginazione automatica non viene disattivata ed è possibile che venga generato un output imprevisto. La AWS CLI versione 2 disattiva l'impaginazione automatica indipendentemente dal modo in cui vengono forniti i parametri.
AWS CLI la versione 2 fornisce codici di ritorno più coerenti per tutti i comandi
La AWS CLI versione 2 è più coerente tra tutti i comandi e restituisce correttamente un codice di uscita appropriato rispetto alla AWS CLI versione 1. Sono anche stati aggiunti i codici di uscita 252, 253 e 254. Per ulteriori informazioni sui codici di uscita, consulta Codici restituiti dalla riga di comando in AWS CLI.
Se dipendi dal modo in cui la AWS CLI versione 1 utilizza i valori del codice di ritorno, ti consigliamo di controllare i codici di uscita per assicurarti di ottenere i valori previsti.