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. Queste modifiche potrebbero richiedere l'aggiornamento degli script o dei comandi per ottenere lo stesso comportamento nella versione 2 come 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 state trasferite alla versione 1 ed è necessario eseguire l'aggiornamento per accedere a tali funzionalità. Le caratteristiche principali comprendono:
- Interprete Python non necessario
-
La AWS CLI versione 2 non richiede un'installazione separata di Python. Include una versione incorporata.
- Wizards
-
È possibile utilizzare una procedura guidata con la AWS CLI versione 2. La procedura guidata guida l'utente nella creazione di determinati comandi.
- IAMAutenticazione Identity Center
-
Se l'organizzazione utilizza AWS IAM Identity Center (IAMIdentity Center), gli utenti possono accedere ad Active Directory, a una directory IAM Identity Center integrata o a un altro IdP connesso a IAM Identity Center. Vengono quindi 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
aws
comando. - Esecuzione delle immagini ufficiali di Amazon ECR Public o Docker per 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 tramite il programma pager predefinito del sistema operativo.
- aws configure import
-
Importa
.csv
le credenziali generate da. AWS Management Console Viene importato un.csv
file con il nome del profilo corrispondente al nome IAM utente. aws configure list-profiles
-
Elenca i nomi di tutti i profili configurati.
- YAMLformato di output in streaming
-
Il
yaml-stream
formatoyaml
and sfrutta il formato fornendo YAMLal contempo una visualizzazione più reattiva di set di dati di grandi dimensioni mediante lo streaming dei dati all'utente. È possibile iniziare a visualizzare e utilizzare YAML i dati prima del download dell'intera query. - Nuovi
ddb
comandi di alto livello per DynamoDB -
La AWS CLI versione 2 include i comandi Amazon
ddb put
ddb select
DynamoDB di alto livello e. Questi comandi forniscono un'interfaccia semplificata per l'inserimento di elementi nelle tabelle DynamoDB e la ricerca in una tabella o in un indice DynamoDB. aws logs tail
-
La AWS CLI versione 2 include un
aws logs tail
comando 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 per i metadati per i comandi di alto livello s3
-
La AWS CLI versione 2 aggiunge il
--copy-props
parametro ai comandi di alto livellos3
. Con questo parametro, puoi 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 SDK compatibile chiamata.
AWS_REGION
Questa variabile specifica a chi Regione AWS inviare le richieste. Sostituisce la variabile diAWS_DEFAULT_REGION
ambiente, che è applicabile solo in. AWS CLI
Interruzione delle modifiche tra la AWS CLI versione 1 e AWS CLI la versione 2
Questa sezione descrive tutte le modifiche di comportamento tra la AWS CLI versione 1 e la AWS CLI versione 2. Queste modifiche potrebbero richiedere l'aggiornamento degli script o dei comandi per ottenere lo stesso comportamento nella versione 2 come nella versione 1.
Argomenti
- Variabile di ambiente aggiunta per impostare la codifica dei file di testo
- Per impostazione predefinita, i parametri binari vengono passati come stringhe con codifica Base64
- Gestione migliorata in Amazon S3 delle proprietà e dei tag dei file per copie multiparte
- Nessun recupero automatico di http:// o per i parametri https:// URLs
- Pager utilizzato per impostazione predefinita per tutti gli output
- I valori di output del timestamp sono standardizzati nel formato 8601 ISO
- Migliore gestione delle CloudFormation distribuzioni che non comportano modifiche
- Comportamento predefinito modificato per l'endpoint Amazon S3 regionale per regione us-east-1
- È stato modificato il comportamento predefinito per gli endpoint regionali AWS STS
- ecr get-loginrimosso e sostituito con ecr get-login-password
- AWS CLI il supporto della versione 2 per i plugin sta cambiando
- Il supporto per gli alias nascosti è stato rimosso
- L'impostazione del file di api_versions configurazione 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
Variabile di ambiente aggiunta per impostare la codifica dei file di testo
Per impostazione predefinita, i file di testo Blob utilizzano la stessa codifica della versione locale installata. 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 di ambiente per AWS CLI.
Per impostazione predefinita, i parametri binari vengono passati come stringhe con codifica Base64
In AWS CLI, alcuni comandi richiedevano stringhe con codifica base64, mentre altri richiedevano
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 in Amazon S3 delle proprietà e dei tag dei file per copie multiparte
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 AWS API chiamate verso l'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'GET
operazione 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 URL e passare il URL contenuto in un valore di parametro, si consiglia di utilizzare curl
uno strumento simile per scaricare il contenuto di in un file locale. URL Quindi, utilizzate la file://
sintassi per leggere il contenuto di quel file e usatelo 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
Se è necessario recuperare e utilizzare il contenuto di un Web URL come parametro, è possibile effettuare le seguenti operazioni 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 -o
parametro indica di curl
salvare il file nella cartella corrente con lo stesso nome del file sorgente. 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 tutti gli output
Per impostazione predefinita, la AWS CLI versione 2 restituisce tutto l'output tramite il programma pager predefinito del sistema operativo. Questo programma è il less
more
È 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 nel formato 8601 ISO
Per impostazione predefinita, la AWS CLI versione 2 restituisce tutti i valori di risposta del timestamp nel ISO formato 8601.
Per visualizzare i timestamp nel formato restituito dalla HTTP API risposta, utilizzate il wire
valore 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 AWS CloudFormation modello che non comporta modifiche, AWS CLI restituisce un codice di errore non riuscito. Ciò causa problemi se non lo consideri un errore e desideri che lo 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
Comportamento predefinito modificato per l'endpoint Amazon S3 regionale per regione us-east-1
Quando configuri la AWS CLI versione 1 per utilizzare la us-east-1
regione, AWS CLI
utilizza l's3.amazonaws.com
endpoint globale che è fisicamente ospitato nella regione. us-east-1
La AWS CLI versione 2 utilizza il vero endpoint regionale s3.us-east-1.amazonaws.com
quando viene specificata quella regione. Per forzare la AWS CLI versione 2 a utilizzare l'endpoint globale, puoi impostare la Regione per un comando su. aws-global
È stato modificato il comportamento predefinito per gli endpoint regionali AWS STS
Per impostazione predefinita, la AWS CLI versione 2 invia tutte le AWS Security Token Service (AWS STS) API richieste all'endpoint regionale per quello attualmente configurato. Regione AWS
Per impostazione predefinita, la AWS CLI versione 1 invia AWS STS le richieste all' AWS STS endpoint globale. È possibile controllare questo comportamento predefinito nella versione 1 utilizzando l'sts_regional_endpoints
impostazione.
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 inoltre la compatibilità con il docker login
comando per una migliore 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 aws ecr get-login-password
comando, è possibile sostituire il seguente codice 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-stdin
MY-REGISTRY-URL
Per ulteriori informazioni, consulta aws ecr get-login-password
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 [plugins]
sezione, definisci la cli_legacy_plugin_path
variabile e imposta il suo valore sul percorso dei pacchetti del sito Python in cui si trova il modulo del plugin. Quindi, puoi configurare un plugin fornendo un nome per il plugin (plugin-name
) e il nome del file del modulo Python (plugin-module
) che contiene il codice sorgente del tuo plugin. AWS CLI Carica ogni plugin importandone plugin-module
e chiamando la sua funzione. awscli_initialize
Il supporto per gli alias nascosti è stato rimosso
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 funzionanti | Alias obsoleto |
---|---|
cognito-identity -arns create-identity-pool open-id-connect-provider | 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 api_versions
configurazione non è supportata
La AWS CLI versione 2 non supporta la chiamata a versioni precedenti del AWS servizio APIs utilizzando l'impostazione del file di api_versions
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. Questa firma avviene automaticamente con ogni richiesta Amazon S3 ed è supportato solo il processo di firma Signature Version 4. Non puoi 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. Tuttavia, quando si specificano i parametri di impaginazione utilizzando un file con il ‐‐cli-input-json
parametro, l'impaginazione automatica non è stata disattivata, il che potrebbe causare 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. Abbiamo anche aggiunto i codici di uscita 252, 253 e 254. Per ulteriori informazioni sui codici di uscita, vedereCodici 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.