Impostazioni dei file di configurazione e delle credenziali nella AWS CLI
Puoi salvare le impostazioni di configurazione e le credenziali utilizzate di frequente nei file gestiti da AWS CLI.
I file sono suddivisi in profiles. Per impostazione predefinita, la AWS CLI utilizza le impostazioni trovate nel profilo denominato default. Per usare impostazioni alternative, puoi creare profili aggiuntivi e farvi riferimento.
Puoi sostituire una singola impostazione configurando una delle variabili di ambiente supportate oppure utilizzando un parametro della riga di comando. Per ulteriori informazioni sulla precedenza delle impostazioni di configurazione, consulta Configurazione delle impostazioni della AWS CLI..
Nota
Per informazioni relative alla configurazione delle credenziali, consulta Credenziali di autenticazione e accesso per la AWS CLI.
Argomenti
Formato dei file di configurazione e delle credenziali.
I file config e credentials sono organizzati in sezioni. Le sezioni includono profiles, sso-sessions e services. Una sezione è una raccolta denominata di impostazioni e prosegue fino a quando non si incontra un’altra riga di definizione della sezione. Nei file config e credentials è possibile archiviare più profili e sezioni.
Si tratta di file con testo in chiaro che utilizzano il seguente formato:
-
I nomi delle sezioni sono racchiusi tra parentesi [] come
[default],[profileeuser1][sso-session]. -
Tutte le voci di una sezione assumono il formato generale
setting_name=value. -
È possibile commentare le righe iniziandole con un carattere cancelletto (
#).
I file config e credentials contengono i seguenti tipi di sezione:
Tipo di sezione: profile
A seconda del file, i nomi delle sezioni del profilo utilizzano il seguente formato:
-
File di configurazione:
[default][profileuser1] -
File delle credenziali:
[default][user1]Non utilizzare la parola
profiledurante la creazione di una voce nel filecredentials.
Ogni profilo può specificare non solo credenziali diverse, ma anche Regioni AWS e formati di output differenti. Quando assegni un nome al profilo in un file config, includi la parola di prefisso “profile”, ma non includerla nel file credentials.
Negli esempi seguenti viene mostrato un file config e credentials con due profili, una Regione e un output specificati. Il primo [default] viene utilizzato quando esegui un comando AWS CLI senza alcun profilo specificato. Il secondo viene utilizzato quando esegui un comando AWS CLI con il parametro --profile user1.
Per ulteriori informazioni e metodi di autorizzazione e credenziali aggiuntivi, consulta Autenticazione tramite credenziali utente IAM per AWS CLI.
Tipo di sezione: sso-session
La sezione sso-session del file config viene utilizzata per raggruppare le variabili di configurazione per l’acquisizione di token di accesso SSO, che possono quindi essere utilizzati per acquisire credenziali AWS. Vengono utilizzate le impostazioni seguenti:
-
(Obbligatorio)
sso_start_url -
(Obbligatorio)
sso_region
È necessario definire una sezione sso-session e associarla a un profilo. sso_region e sso_start_url devono essere impostati all’interno della sezione sso-session. In genere, le impostazioni sso_account_id e sso_role_name devono essere configurate nella sezione profile in modo che l’SDK possa richiedere le credenziali SSO.
L’esempio seguente configura l’SDK in modo da richiedere le credenziali SSO e supporta l’aggiornamento automatico dei token:
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/start
In questo modo, è possibile riutilizzare le configurazioni sso-session su più profili:
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[profileprod] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole2[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/start
Tuttavia, le impostazioni sso_account_id e sso_role_name non sono necessarie per tutti gli scenari di configurazione dei token SSO. Se l’applicazione utilizza solo servizi AWS che supportano l’autenticazione tramite token di connessione, le credenziali AWS tradizionali non sono necessarie. Questo tipo di autenticazione è uno schema di autenticazione HTTP che utilizza token di sicurezza noti come token di connessione. In questo scenario le impostazioni sso_account_id e sso_role_name non sono obbligatorie. Consulta la guida specifica del servizio AWS per determinare se supporta l’autorizzazione tramite token di connessione.
Inoltre, gli ambiti di registrazione possono essere configurati all’interno di un parametro sso-session. L’ambito è un meccanismo in OAuth 2.0 per limitare l’accesso di un’applicazione a un account utente. Un’applicazione può richiedere uno o più ambiti e il token di accesso emesso all’applicazione sarà limitato agli ambiti consentiti. Questi ambiti definiscono le autorizzazioni richieste per l’autorizzazione per il client OIDC registrato e i token di accesso recuperati dal client. L’esempio seguente imposta sso_registration_scopes in modo da fornire l’accesso necessario per elencare account/ruoli:
[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/startsso_registration_scopes =sso:account:access
Il token di autenticazione viene memorizzato nella cache su disco all’interno della directory ~/.aws/sso/cache con un nome di file basato sul nome della sessione.
Per ulteriori informazioni su questo tipo di configurazione, consulta Configurazione dell’autenticazione in Centro identità IAM con AWS CLI.
Tipo di sezione: services
La sezione services è un gruppo di impostazioni che configura gli endpoint personalizzati per le richieste Servizio AWS. Il profilo viene quindi collegato a una sezione services.
[profiledev] services =my-services
La sezione services è suddivisa in sottosezioni da righe <SERVICE> = , dove <SERVICE> è la chiave identificativa Servizio AWS. L’identificatore Servizio AWS si basa sul serviceId del modello API, sostituendo tutti gli spazi con caratteri di sottolineatura e rendendo tutte le lettere minuscole. Per un elenco di tutte le chiavi identificative del servizio da utilizzare nella sezione services, consulta Utilizzo degli endpoint in AWS CLI. La chiave identificativa del servizio è seguita da impostazioni annidate, ciascuna sulla propria riga e con un rientro di due spazi.
L’esempio seguente configura l’endpoint da utilizzare per le richieste effettuate al servizio Amazon DynamoDB nella sezione my-services utilizzata nel profilo dev. Tutte le righe con rientro immediatamente successive vengono incluse in tale sottosezione e si applicano a quel servizio.
[profiledev] services =my-services[servicesmy-services] dynamodb = endpoint_url =http://localhost:8000
Per ulteriori informazioni sugli endpoint specifici del servizio, consulta Utilizzo degli endpoint in AWS CLI.
Se il tuo profilo dispone di credenziali basate sui ruoli configurate tramite un parametro source_profile per consentire a IAM di assumere la funzionalità del ruolo, l’SDK utilizza solo le configurazioni di servizio relative al profilo specificato. Non utilizza profili a cui sono associati ruoli concatenati. Ad esempio, può utilizzare il seguente file config condiviso:
[profileA] credential_source =Ec2InstanceMetadataendpoint_url =https://profile-a-endpoint.aws/[profileB] source_profile =Arole_arn =arn:aws:iam::123456789012:role/roleBservices =profileB[servicesprofileB] ec2 = endpoint_url =https://profile-b-ec2-endpoint.aws
Se utilizzi il profilo B ed effettui una chiamata nel codice verso Amazon EC2, l’endpoint viene risolto come https://profile-b-ec2-endpoint.aws. Se il codice invia una richiesta a qualsiasi altro servizio, la risoluzione dell’endpoint non seguirà alcuna logica personalizzata. L’endpoint non viene risolto come l’endpoint globale definito nel profilo A. Affinché un endpoint globale abbia effetto sul profilo B, è necessario impostare endpoint_url direttamente all’interno del profilo B.
Dove vengono archiviate le impostazioni di configurazione?
AWS CLI archivia le informazioni relative alle credenziali riservate specificate con aws
configure in un file locale denominato credentials che si trova in una cartella denominata nella home directory. Le altre opzioni di configurazione meno riservate specificate con .awsaws configure vengono archiviate in un file locale denominato config che è archiviato nella cartella della home directory. .aws
Archiviazione delle credenziali nel file di configurazione
Puoi mantenere tutte le impostazioni del profilo in un unico file in quanto l'AWS CLI può leggere le credenziali dal file config. Se in entrambi i file sono presenti credenziali per un profilo che condivide lo stesso nome, le chiavi nel file delle credenziali hanno la precedenza. Suggeriamo di conservare le credenziali nei file credentials. Questi file vengono inoltre utilizzati da vari Software Development Kit (SDK). Se usi uno degli SDK oltre all'AWS CLI, verifica se le credenziali devono essere archiviate nel rispettivo file.
La posizione della home directory varia in base al sistema operativo, ma viene definita utilizzando le variabili di ambiente %UserProfile% in Windows e $HOME o ~ (tilde) nei sistemi basati su Unix. Puoi specificare una posizione non predefinita per i file impostando le variabili di ambiente AWS_CONFIG_FILE e AWS_SHARED_CREDENTIALS_FILE su un altro percorso locale. Per informazioni dettagliate, vedi Configurazione delle variabili d’ambiente per AWS CLI.
Quando utilizzi un profilo condiviso che specifica un ruolo (IAM) AWS Identity and Access Management, la AWS CLI chiama l’operazione AWS STS AssumeRole per recuperare le credenziali temporanee. Queste credenziali vengono quindi archiviate (in ). I comandi dell'AWS CLI successivi utilizzano le credenziali temporanee memorizzate nella cache finché non scadono e a quel punto l'AWS CLI aggiorna automaticamente le credenziali.~/.aws/cli/cache
Utilizzo di profili denominati
Se nessun profilo è definito in modo esplicito, viene utilizzato il profilo default.
Per usare un profilo denominato, aggiungi l'opzione --profile
al comando. Nell’esempio seguente vengono elencate tutte le istanze di Amazon EC2 che utilizzano le credenziali e le impostazioni definite nel profilo profile-nameuser1.
$aws ec2 describe-instances --profile user1
Per utilizzare un profilo denominato per più comandi, puoi evitare di specificare il profilo in ogni comando impostando la variabile di ambiente AWS_PROFILE come profilo predefinito. È possibile sovrascrivere questa impostazione utilizzando il parametro --profile.
Definizione e visualizzazione delle impostazioni di configurazione utilizzando i comandi
Esistono diversi modi per visualizzare e definire le impostazioni di configurazione utilizzando i comandi.
aws configure-
Esegui questo comando per impostare e visualizzare rapidamente le credenziali, la Regione e il formato di output. L'esempio seguente illustra i valori di esempio.
$aws configureAWS Access Key ID [None]:AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLEDefault region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault output format [None]:us-west-2json aws configure set-
Puoi impostare le credenziali o le impostazioni di configurazione utilizzando
aws configure set. Specifica il profilo che intendi visualizzare o modificare con l'impostazione--profile.Ad esempio, il comando seguente configura l'impostazione
regionnel profilo denominatointeg.$aws configure set regionus-west-2--profileintegPer rimuovere un’impostazione, eliminala manualmente nei file
configecredentialsin un editor di testo. aws configure get-
Puoi recuperare le credenziali o le impostazioni di configurazione impostate utilizzando
aws configure get. Specifica il profilo che intendi visualizzare o modificare con l'impostazione--profile.Ad esempio, il comando seguente recupera l'impostazione
regionnel profilo denominatointeg.$aws configure getregion--profileintegus-west-2Se l'output è vuoto, l'impostazione non è configurata esplicitamente e viene utilizzato il valore predefinito.
aws configure import-
Importa le credenziali
CSVgenerate dalla console web IAM. Non si tratta delle credenziali generate dal Centro identità IAM. I clienti che utilizzano il Centro identità IAM devono utilizzare aws configure sso. Viene importato un file CSV con il nome del profilo corrispondente al nome utente. Il file .csv deve contenere le seguenti intestazioni.-
Nome utente
-
ID chiave di accesso
-
Chiave di accesso segreta
Nota
Durante la creazione iniziale della coppia di chiavi, una volta chiusa la finestra di dialogo Scarica il file.csv, non è possibile accedere alla chiave di accesso segreta. Se hai bisogno di un file
.csv, dovrai crearne uno personalmente con le intestazioni richieste e le informazioni sulle chiavi di accesso archiviate. Se non hai accesso alle informazioni sulla coppia di chiavi, devi crearne una nuova.$aws configure import --csvfile://credentials.csv -
aws configure list-
Per elencare tutti i dati di configurazione, utilizza il comando
aws configure list. Questo comando elenca le informazioni di configurazione del profilo, della chiave di accesso, della chiave segreta e della Regione utilizzate per il profilo specificato. Per ogni elemento di configurazione, mostra il valore, dove è stato recuperato il valore di configurazione e il nome della variabile di configurazione.Ad esempio, se indichi la Regione AWS in una variabile di ambiente, questo comando mostra il nome della Regione che hai configurato, che questo valore proviene da una variabile di ambiente e il nome di tale variabile.
Per quanto riguarda i metodi per le credenziali temporanee, come ruoli e Centro identità IAM, il comando visualizza la chiave di accesso e la chiave di accesso segreta temporaneamente memorizzate nella cache.
$aws configure listNAME : VALUE : TYPE : LOCATION profile : <not set> : None : None access_key : ****************ABCD : shared-credentials-file : secret_key : ****************ABCD : shared-credentials-file : region : us-west-2 : env : AWS_DEFAULT_REGION aws configure list-profiles-
Per elencare tutti i nomi del profilo, utilizza il comando
aws configure list-profiles.$aws configure list-profilesdefault test aws configure sso-
Esegui questo comando per impostare e visualizzare rapidamente le credenziali AWS IAM Identity Center, la Regione e il formato di output. L'esempio seguente illustra i valori di esempio.
$aws configure ssoSSO session name (Recommended):my-ssoSSO start URL [None]:https://my-sso-portal.awsapps.com/startSSO region [None]:us-east-1SSO registration scopes [None]:sso:account:access aws configure sso-session-
Esegui questo comando per impostare e visualizzare rapidamente le credenziali AWS IAM Identity Center, la Regione e il formato di output nella sezione sso-session dei file
credentialseconfig. L'esempio seguente illustra i valori di esempio.$aws configure sso-sessionSSO session name:my-ssoSSO start URL [None]:https://my-sso-portal.awsapps.com/startSSO region [None]:us-east-1SSO registration scopes [None]:sso:account:access aws configure export-credentials-
Esegui questo comando per esportare le credenziali attualmente impostate nel formato specificato. Per impostazione predefinita, il comando esporta le credenziali predefinite nel formato
process, ovvero un formato JSON supportato dal formato per le credenziali degli SDK e degli strumenti AWS.$aws configure export-credentials{ "Version": 1, "AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" }Per esportare un profilo e un formato specifici, utilizza le opzioni
--profilee--format. Le opzioni di formato sono:-
(predefinita)
process: il formato JSON supportato dalla configurazionecredential_processdegli SDK e degli strumenti AWS. -
env: variabili di ambiente in formato shell esportato. -
env-no-export: variabili di ambiente non esportate in formato shell. -
powershell: variabili di ambiente in formato PowerShell. -
windows-cmd: variabili di ambiente in formato riga di comando di Windows.
L’esempio seguente esporta il profilo
user1in un formato shell esportato.$aws configure export-credentials--profile user1 --format envexport AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY -
Esempi di comandi per impostare nuove configurazioni e credenziali
Negli esempi seguenti viene mostrata la configurazione di un profilo predefinito con credenziali, Regione e output specificati per diversi metodi di autenticazione.
Impostazioni supportate del file config
Le seguenti impostazioni sono supportate nel file config. Vengono utilizzati i valori elencati nel profilo specificato (o nel profilo predefinito), a meno che non vengano sostituiti grazie alla presenza di una variabile di ambiente con lo stesso nome o di un'opzione della riga di comando con lo stesso nome. Per ulteriori informazioni sulle impostazioni di ordine che hanno la precedenza, consulta Configurazione delle impostazioni della AWS CLI.
Impostazioni globali
-
account_id_endpoint_mode -
Specifica se utilizzare gli ID dell’endpoint basato sull’accountAWS per le chiamate ai Servizi AWS supportati. Per ulteriori informazioni sugli endpoint basati sull’account, consulta Endpoint basati sull’account.
Questa impostazione può essere configurata come segue:
-
(Impostazione predefinita)
preferred: l’endpoint deve includere l’ID dell’account, se disponibile. -
disabled: un endpoint risolto non include l’ID dell’account. -
required: l’endpoint deve includere l’ID dell’account. Se l’ID dell’account non è disponibile, l’SDK genera un errore.
Può essere sostituita dalla variabile di ambiente
AWS_ACCOUNT_ID_ENDPOINT_MODE. Per utilizzare gli endpoint basati sull’account, l’ID deve essere impostato nella variabile di ambienteAWS_ACCOUNT_IDo nell’impostazioneaws_account_id.account_id_endpoint_mode =preferredPriorità degli endpoint
Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.
-
-
aws_access_key_id -
Specifica la chiave di accesso AWS utilizzata come parte delle credenziali per autenticare la richiesta di comando. Sebbene tale impostazione possa essere archiviata nel file
config, ti consigliamo di archiviarla nel filecredentials.Può essere sostituita dalla variabile di ambiente
AWS_ACCESS_KEY_ID. Non è possibile specificare l'ID chiave di accesso come un'opzione della riga di comando.aws_access_key_id =AKIAIOSFODNN7EXAMPLE -
aws_account_id -
Specifica l’ID dell’endpoint basato sull’account AWS da utilizzare per le chiamate ai Servizi AWS supportati. Per ulteriori informazioni sugli endpoint basati sull’account, consulta Endpoint basati sull’account.
Può essere sostituita dalla variabile di ambiente
AWS_ACCOUNT_ID. La variabile di ambienteAWS_ACCOUNT_ID_ENDPOINT_MODEo l’impostazioneaccount_id_endpoint_modedeve essere impostata supreferredorequiredper utilizzare questa impostazione.aws_account_id =123456789EXAMPLEPriorità degli endpoint
Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.
aws_secret_access_key-
Specifica la chiave segreta AWS utilizzata come parte delle credenziali per autenticare la richiesta di comando. Sebbene tale impostazione possa essere archiviata nel file
config, ti consigliamo di archiviarla nel filecredentials.Può essere sostituita dalla variabile di ambiente
AWS_SECRET_ACCESS_KEY. Non è possibile specificare la chiave di accesso segreta come un'opzione della riga di comando.aws_secret_access_key =wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token-
Specifica un token di sessione AWS. È richiesto un token di sessione solo se si specificano manualmente credenziali di sicurezza temporanee. Sebbene tale impostazione possa essere archiviata nel file
config, ti consigliamo di archiviarla nel filecredentials.Può essere sostituita dalla variabile di ambiente
AWS_SESSION_TOKEN. Non è possibile specificare il token di sessione come un'opzione della riga di comando.aws_session_token =AQoEXAMPLEH4aoAH0gNCAPyJxz4BlCFFxWNE1OPTgk5TthT+FvwqnKwRcOIfrRh3c/LTo6UDdyJwOOvEVPvLXCrrrUtdnniCEXAMPLE/IvU1dYUg2RVAJBanLiHb4IgRmpRV3zrkuWJOgQs8IZZaIv2BXIa2R4Olgk ca_bundle-
Specifica un bundle di certificati CA (file con estensione
.pem) utilizzato per verificare i certificati SSL.Può essere sostituita dalla variabile di ambiente
AWS_CA_BUNDLEo dall'opzione della riga di comando--ca-bundle.ca_bundle =dev/apps/ca-certs/cabundle-2019mar05.pem cli_auto_prompt-
Abilita il prompt automatico per AWS CLI versione 2. È possibile utilizzare due impostazioni:
-
onutilizza la modalità di prompt automatico completa ogni volta che si tenta di eseguire un comandoaws. Include il dover premere INVIO dopo un comando completo o incompleto.cli_auto_prompt = on -
on-partialutilizza la modalità di prompt automatico parziale. Se un comando è incompleto o non può essere eseguito a causa di errori di convalida sul lato client, viene utilizzato il prompt automatico. Questa modalità è particolarmente utile se sono disponibili script e runbook preesistenti o per ricevere un prompt automatico solo per i comandi che non si conoscono, piuttosto che per ogni comando.cli_auto_prompt = on-partial
Per sovrascrivere questa impostazione, utilizza la variabile di ambiente
aws_cli_auto_prompto i parametri della riga di comando--cli-auto-prompte--no-cli-auto-prompt.Per informazioni sulla funzionalità di prompt automatico della AWS CLI versione 2, consulta Attivazione e utilizzo dei prompt dei comandi in AWS CLI.
-
cli_binary_format-
Specifica come la AWS CLI versione 2 interpreta i parametri di input binari. Può essere uno dei seguenti valori:
-
Base64: si tratta del valore predefinito. Un parametro di input digitato come oggetto binario di grandi dimensioni (BLOB) accetta una stringa con codifica base64. Per passare il contenuto binario vero, inserire il contenuto in un file e fornire il percorso e il nome del file con il prefisso
fileb://come valore del parametro. Per passare il testo codificato in base 64 contenuto in un file, specificare il percorso e il nome del file con il prefissofile://come valore del parametro. -
raw-in-base64-out: impostazione predefinita per la AWS CLI versione 1. Se il valore dell’impostazione è
raw-in-base64-out, i file a cui si fa riferimento utilizzando il prefissofile://vengono letti come testo e quindi la AWS CLI tenta di codificarli in codice binario.
Questa voce non dispone di una variabile di ambiente equivalente. È possibile specificare il valore su un singolo comando utilizzando il parametro
--cli-binary-format raw-in-base64-out.cli_binary_format = raw-in-base64-outSe si fa riferimento a un valore binario in un file utilizzando la notazione del prefisso
fileb://, AWS CLI aspetta sempre che il file contenga contenuto binario non elaborato e non tenta di convertire il valore.Se si fa riferimento a un valore binario in un file utilizzando la notazione del prefisso
file://, il file viene gestito da AWS CLI in base all'impostazionecli_binary_formatcorrente. Se il valore di tale impostazione èbase64(ovvero il valore predefinito quando non è impostato in modo esplicito), la AWS CLI prevede che il file contenga testo con codifica Base64. Se il valore di tale impostazione èraw-in-base64-out, la AWS CLI prevede che nel file sia presente contenuto binario non elaborato. -
cli_history-
Disabilitato per impostazione predefinita. Questa impostazione abilita la cronologia dei comandi per la AWS CLI. Una volta abilitata questa impostazione, la AWS CLI registra la cronologia dei comandi
aws.cli_history = enabledPuoi generare l’elenco della cronologia con il comando
aws history liste utilizzare glicommand_idsrisultanti nel comandoaws history showper i dettagli. Per ulteriori informazioni, consultaaws historynella Guida di riferimento della AWS CLI. cli_pager-
Specifica il programma pager utilizzato per l'output. Per impostazione predefinita, AWS CLI versione 2 restituisce tutto l’output attraverso il programma pager predefinito del sistema operativo.
Può essere sostituita dalla variabile di ambiente AWS_PAGER.
cli_pager=less cli_timestamp_format-
Specifica il formato dei valori di timestamp inclusi nell’output. Puoi specificare uno dei seguenti valori:
-
iso8601: il valore predefinito per la AWS CLI versione 2. Se specificato, la AWS CLI riformatta tutti i timestamp presenti nell’output in base a ISO 8601
. I timestamp in formato ISO 8601 assomigliano ai seguenti esempi. L’esempio seguente dimostra come si formatta l’ora separando la data e l’ora con una Te inserendo unaZdopo l’ora.YYYY-MM-DDThh:mm:ssZNegli esempi seguenti viene mostrato un timestamp che utilizza la formattazione precedente.
2024-05-08T15:16:43Z -
wire: valore predefinito per la AWS CLI versione 1. Se specificato l'AWS CLI visualizza tutti i valori di timestamp esattamente come ricevuto nella risposta alla query HTTP.
Questa impostazione non dispone di una variabile di ambiente o di un’opzione della riga di comando equivalente. Questa impostazione non modifica gli input relativi al timestamp, ma solo la formattazione dell’output.
cli_timestamp_format = iso8601 -
credential_process-
Specifica un comando esterno che la AWS CLI esegue per generare o recuperare le credenziali di autenticazione da utilizzare per questo comando. Il comando deve restituire le credenziali in un formato specifico. Per ulteriori informazioni sull'utilizzo di questa impostazione, consulta Acquisizione di credenziali con un processo esterno nella CLI.
Questa voce non dispone di una variabile di ambiente o di un'opzione della riga di comando equivalente.
credential_process =/opt/bin/awscreds-retriever --username susan credential_source-
Utilizzata all’interno di istanze o container Amazon EC2 per specificare dove la AWS CLI può trovare le credenziali da utilizzare per assumere il ruolo specificato con il parametro
role_arn. Non è possibile specificare siasource_profilesiacredential_sourcenello stesso profilo.Questo parametro può avere uno dei seguenti tre valori:
-
Environment: specifica che la AWS CLI deve recuperare le credenziali dalle variabili di ambiente.
-
Ec2InstanceMetadata: specifica che la AWS CLI deve utilizzare il ruolo IAM collegato al profilo dell’istanza EC2 per ottenere le credenziali di origine.
-
EcsContainer: specifica che la AWS CLI utilizzare il ruolo IAM collegato associato al container ECS come credenziali di origine.
credential_source = Ec2InstanceMetadata -
duration_seconds-
Specifica la durata massima della sessione del ruolo, in secondi. Questo valore può variare da 900 secondi (15 minuti) fino alla durata massima della sessione per il ruolo (massimo 43200 minuti). Si tratta di un parametro facoltativo e, per impostazione predefinita, il valore è impostato su 3600 secondi.
endpoint_url-
Specifica l’endpoint utilizzato per tutte le richieste del servizio. Se questa impostazione viene utilizzata nella sezione services del file
config, l’endpoint viene utilizzato solo per il servizio specificato. Per ulteriori informazioni, consulta Imposta un endpoint globale per tutti i Servizi AWS.L’esempio seguente utilizza l’endpoint globale
http://localhost:1234e un endpoint specifico del servizio dihttp://localhost:4567per Amazon S3.[profile dev] endpoint_url = http://localhost:1234 services = s3-specific [services s3-specific] s3 = endpoint_url = http://localhost:4567Priorità degli endpoint
Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.
ignore_configure_endpoint_urls-
Se abilitata, la AWS CLI ignora tutte le configurazioni degli endpoint personalizzate specificate nel file
config. I valori validi sonotrueefalse.ignore_configure_endpoint_urls = truePriorità degli endpoint
Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.
external_id-
Specifica un identificatore univoco che viene utilizzato da terze parti per assumere un ruolo negli account dei relativi clienti. Questo è mappato al parametro
ExternalIdnell'operazioneAssumeRole. Questo parametro è necessario solo se la policy di attendibilità per il ruolo specifica un valore perExternalId. Per ulteriori informazioni, consulta Come utilizzare un ID esterno quando si concede a una terza parte l’accesso alle proprie risorse AWS nella Guida per l’utente di IAM. max_attempts-
Specifica il valore per il numero massimo di tentativi utilizzato dal gestore dei tentativi AWS CLI, in cui la chiamata iniziale viene conteggiata rispetto al valore
max_attemptsfornito.È possibile sovrascrivere questo valore utilizzando la variabile di ambiente
AWS_MAX_ATTEMPTS.max_attempts =3 mfa_serial-
Il numero di identificazione del dispositivo MFA da utilizzare durante l'assunzione di un ruolo. È obbligatorio specificare questo valore se la policy di attendibilità del ruolo assunto include una condizione che richiede l'autenticazione MFA. Il valore può essere un numero di serie per un dispositivo hardware (ad esempio
GAHT12345678) o un Amazon Resource Name (ARN) per un dispositivo MFA virtuale (ad esempioarn:aws:iam::123456789012:mfa/).user output-
Specifica il formato di output predefinito per i comandi richiesti utilizzando questo profilo. Puoi specificare uno qualsiasi dei valori seguenti:
-
yaml-stream: l’output viene inviato in streaming e formattato come una stringa YAML
. Lo streaming consente una gestione più rapida di tipi di dati di grandi dimensioni. -
text: l’output è formattato come più righe di valori di stringa separati da tabulazioni. Questa formattazione può essere utile per passare l’output a un elaboratore di testi, ad esempio
grep,sedoawk. -
table: l’output è formattato come una tabella in cui si utilizzano i caratteri +|- per formare i bordi delle celle. In genere presenta le informazioni in un formato comprensibile molto più semplice da leggere rispetto ad altri, ma non altrettanto utile a livello programmatico.
Può essere sostituita dalla variabile di ambiente
AWS_DEFAULT_OUTPUTo dall'opzione della riga di comando--output.output =table parameter_validation-
Specifica se il client dell'AWS CLI tenta di convalidare i parametri prima di inviarli all'endpoint del servizio AWS.
-
true: si tratta del valore predefinito. Se specificato, la AWS CLI esegue la convalida locale dei parametri della riga di comando.
-
false: se specificato, la AWS CLI non convalida i parametri della riga di comando prima di inviarli all’endpoint del servizio AWS.
Questa voce non dispone di una variabile di ambiente o di un'opzione della riga di comando equivalente.
parameter_validation = false -
region-
Specifica la Regione Regione AWS predefinita a cui inviare le richieste per i comandi richiesti tramite questo profilo.
-
Puoi specificare i codici di Regione disponibili per il servizio scelto, come indicato in Regioni ed endpoint AWS in Riferimenti generali di Amazon Web Services.
-
aws_globalconsente di specificare l’endpoint globale per i servizi che supportano un endpoint globale oltre agli endpoint regionali, ad esempio AWS Security Token Service (AWS STS) e Amazon Simple Storage Service (Amazon S3).
È possibile sovrascrivere questo valore utilizzando la variabile di ambiente
AWS_REGION, la variabile di ambienteAWS_DEFAULT_REGIONo l’opzione della riga di comando--region.region =us-west-2 -
request_checksum_calculation-
Specifica quando viene calcolato un checksum per i payload di richiesta e dispone delle seguenti opzioni:
-
when_supported: (impostazione predefinita) il checksum del payload di richiesta viene calcolato quando un’operazione specifica un algoritmo di checksum nel modello di servizio o richiede i checksum di richiesta. -
when_required: il checksum del payload di richiesta viene calcolato quando un’operazione richiede i checksum di richiesta o quando un utente fornisce unrequestAlgorithmMembermodellato dal Servizio AWS.
request_checksum_calculation =when_supportedLa variabile di ambiente AWS_REQUEST_CHECKSUM_CALCULATION sovrascrive questa impostazione.
-
response_checksum_validation-
Specifica quando viene eseguita la convalida del checksum per i payload di risposta e dispone delle seguenti opzioni:
-
when_supported: (impostazione predefinita) la convalida del checksum del payload di risposta viene eseguita quando un’operazione specifica un algoritmo di risposta nel modello di servizio supportato da AWS CLI. -
when_required: la convalida del checksum del payload di risposta viene eseguita quando un’operazione specifica un algoritmo di risposta nel modello di servizio supportato da AWS CLI e l’utente imposta ilrequestValidationModeMembermodellato suENABLEDnell’input dell’operazione.
response_checksum_validation =when_supportedLa variabile di ambiente AWS_RESPONSE_CHECKSUM_VALIDATION sovrascrive questa impostazione.
-
retry_mode-
Specifica la modalità di ripetizione dei tentativi utilizzata da AWS CLI. Sono disponibili tre modalità di ripetizione dei tentativi:
standard(impostazione predefinita),legacy(impostazione predefinita) eadaptive. Per ulteriori informazioni sui tentativi, consulta Tentativi della AWS CLI nella AWS CLI.È possibile sovrascrivere questo valore utilizzando la variabile di ambiente
AWS_RETRY_MODE.retry_mode =standard role_arn-
Specifica il nome della risorsa Amazon (ARN) di un ruolo IAM che desideri utilizzare per eseguire i comandi AWS CLI. Puoi anche specificare uno dei seguenti parametri per identificare le credenziali che dispongono dell'autorizzazione per assumere questo ruolo:
-
source_profile
-
credential_source
role_arn = arn:aws:iam::123456789012:role/role-nameLa variabile di ambiente AWS_ROLE_ARN sovrascrive questa impostazione.
Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.
-
role_session_name-
Specifica il nome da associare alla sessione del ruolo. Questo valore viene fornito al parametro
RoleSessionNamequando 'AWS CLI chiama l'operazioneAssumeRolee diventa parte dell'ARN utente del ruolo assunto:arn:aws:sts::. Si tratta di un parametro facoltativo. Se non fornisci questo valore, viene automaticamente generato un nome della sessione. Questo nome viene visualizzato nei log di AWS CloudTrail per le voci associate a questa sessione.123456789012:assumed-role/role_name/role_session_namerole_session_name =maria_garcia_roleLa variabile di ambiente AWS_ROLE_SESSION_NAME sovrascrive questa impostazione.
Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.
services-
Specifica la configurazione del servizio da utilizzare per il profilo.
[profiledev-s3-specific-and-global] endpoint_url =http://localhost:1234services =s3-specific[servicess3-specific] s3 = endpoint_url =http://localhost:4567Per ulteriori informazioni sulla sezione
services, consulta Tipo di sezione: services.La variabile di ambiente AWS_ROLE_SESSION_NAME sovrascrive questa impostazione.
Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.
sdk_ua_app_id-
Un singolo Account AWS può essere utilizzato da più applicazioni dei clienti per effettuare chiamate ai Servizi AWS. L’ID dell’applicazione identifica quale applicazione di origine ha effettuato una serie di chiamate utilizzando un Servizio AWS. Gli SDK e i servizi AWS non utilizzano né interpretano questo valore se non per restituirlo nelle comunicazioni con i clienti. Ad esempio, questo valore può essere incluso nelle e-mail operative per identificare in modo univoco quale delle applicazioni è associata alla notifica.
L’ID dell’applicazione è una stringa composta al massimo da 50 caratteri. Sono consentite lettere, numeri e i seguenti caratteri speciali:
! $ % & * + - . , ^ _ ` | ~Per impostazione predefinita, non viene assegnato alcun valore.sdk_ua_app_id =prod1Questa impostazione può essere sovrascritta utilizzando la variabile di ambiente AWS_SDK_UA_APP_ID. Non è possibile impostare questo valore come parametro della riga di comando.
sigv4a_signing_region_set-
Specifica le Regioni da utilizzare quando si firma con SigV4a utilizzando un elenco delimitato da virgole. Se questa variabile non è impostata, la AWS CLI ricorre all’impostazione predefinita utilizzata dal Servizio AWS. Se il Servizio AWS non ha un valore predefinito, la firma della richiesta diventa valida in tutte le Regioni utilizzando il valore
*.sigv4a_signing_region_set =us-west-2, us-east-1Per ulteriori informazioni su SigV4a, consulta AWS Signature Version 4 per le richieste API nella Guida per l’utente IAM
Questa impostazione può essere sovrascritta utilizzando la variabile di ambiente AWS_SIGV4A_SIGNING_REGION_SET. Non è possibile impostare questo valore come parametro della riga di comando.
source_profile-
Specifica un profilo denominato con credenziali a lungo termine che l'AWS CLI può utilizzare per assumere un ruolo specificato con il parametro
role_arn. Non è possibile specificare siasource_profilesiacredential_sourcenello stesso profilo.source_profile =production-profile sso_account_id-
Specifica l’ID dell’account AWS che contiene il ruolo IAM con l’autorizzazione che si desidera concedere all’utente del Centro identità IAM associato.
Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.
sso_account_id = 123456789012 sso_region-
Specifica la Regione AWS che contiene l’host del portale di accesso AWS. Questa è separata e può essere una regione diversa rispetto al parametro
regionpredefinito della CLI.Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.
sso_region = us_west-2 sso_registration_scopes-
Un elenco di ambiti delimitati da virgola autorizzati per la
sso-session. Gli ambiti autorizzano l’accesso agli endpoint autorizzati con token di connessione del Centro identità IAM. Un ambito valido è una stringa, ad esempiosso:account:access. Questa impostazione non è applicabile alla configurazione precedente non aggiornabile.sso_registration_scopes = sso:account:access sso_role_name-
Specifica il nome descrittivo del ruolo IAM che definisce le autorizzazioni dell’utente quando si utilizza questo profilo.
Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.
sso_role_name = ReadAccess sso_start_url-
Specifica l’URL che punta al portale di accesso AWS dell’organizzazione. La AWS CLI utilizza questo URL per stabilire una sessione con il Centro identità IAM per autenticare i suoi utenti. Per trovare l’URL del portale di accesso AWS, utilizza uno dei seguenti:
-
Apri l’e-mail di invito in cui è indicato l’URL del portale di accesso AWS.
-
Apri la console AWS IAM Identity Center all'indirizzo https://console.aws.amazon.com/singlesignon/
. L’URL del portale di accesso AWS è indicato nelle impostazioni.
Questa impostazione non dispone di una variabile di ambiente o opzione della riga di comando.
sso_start_url =https://my-sso-portal.awsapps.com/start -
use_dualstack_endpoint-
Consente l’uso di endpoint dual-stack per inviare richieste AWS. Per ulteriori informazioni sugli endpoint dual-stack, che supportano sia il traffico IPv4 che IPv6, consulta Using Amazon S3 dual-stack endpoints nella Guida per l’utente di Amazon Simple Storage Service. Gli endpoint dual-stack sono disponibili per determinati servizi in alcune Regioni. Se non esiste un endpoint dual-stack per il servizio o la Regione AWS, la richiesta ha esito negativo. Le impostazioni valide sono
trueefalse. Questa opzione è disabilitata per impostazione predefinita. Per ulteriori informazioni, consulta Impostato per utilizzare gli endpoint dual-stack per tutti i Servizi AWS.Questa impostazione e l'impostazione
use_accelerate_endpointsi escludono a vicenda.Priorità degli endpoint
Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.
use_fips_endpoint-
Alcuni servizi AWS offrono endpoint che supportano lo standard FIPS (Federal Information Processing Standard) 140-2
in determinate Regioni AWS. Quando il servizio AWS supporta lo standard FIPS, questa impostazione specifica quale endpoint FIPS la AWS CLI deve utilizzare. A differenza degli endpoint AWS standard, gli endpoint FIPS utilizzano una libreria software TLS conforme agli standard FIPS 140-2. Questi endpoint potrebbero essere necessari ad aziende che interagiscono con il governo degli Stati Uniti. Per ulteriori informazioni, consulta Imposta per utilizzare gli endpoint FIP per tutti i Servizi AWS. Se questa impostazione è abilitata, ma non esiste un endpoint FIPS per il servizio nella Regione AWS, il comando AWS potrebbe non riuscire. In questo caso, specifica manualmente l’endpoint da utilizzare nel comando utilizzando l’opzione
--endpoint-urloppure utilizza gli endpoint specifici del servizio.Priorità degli endpoint
Le impostazioni di configurazione dell’endpoint sono situate in più posizioni, ad esempio le variabili di ambiente del sistema o dell’utente e i file di configurazione AWS locali, oppure possono essere dichiarate esplicitamente come parametri dalla linea di comando. La AWS CLI controlla queste impostazioni dell’endpoint in un ordine particolare e utilizza l’impostazione dell’endpoint con la priorità più elevata. Per l’elenco delle priorità degli endpoint, consulta Configurazione dell’endpoint e precedenza delle impostazioni.
web_identity_token_file-
Specifica il percorso di un file che contiene un token di accesso OAuth 2.0 o un token ID OpenID Connect fornito da un provider di identità. L'AWS CLI carica il contenuto di questo file e lo passa come argomento
WebIdentityTokenall'operazioneAssumeRoleWithWebIdentity.La variabile di ambiente
AWS_WEB_IDENTITY_TOKEN_FILEsovrascrive questa impostazione.Per ulteriori informazioni sull’uso di identità web, consulta Assunzione di un ruolo con un'identità Web.
tcp_keepalive-
Specifica se il client AWS CLI utilizza pacchetti keep-alive TCP.
Questa voce non dispone di una variabile di ambiente o di un'opzione della riga di comando equivalente.
tcp_keepalive = false
Impostazioni dei comandi S3 personalizzati
Amazon S3 supporta diverse impostazioni che consentono di configurare il modo in cui la AWS CLI esegue le operazioni Amazon S3. Alcune si applicano a tutti i comandi S3 in entrambi gli spazi dei nomi s3api e s3. Altri sono specifici per i comandi S3 "personalizzati" che eseguono l'astrazione di operazioni comuni e che prevedono più di una mappatura uno-a-uno a un'operazione API. I comandi di trasferimento aws s3 cp, sync, mv e rm dispongono di impostazioni aggiuntive che puoi utilizzare per controllare i trasferimenti S3.
Tutte queste opzioni possono essere configurate specificando l'impostazione nidificata s3 nel file config. A ogni impostazione viene quindi applicato il rientro nella riga.
Nota
Queste impostazioni sono completamente facoltative. Dovresti essere in grado di utilizzare i comandi di trasferimento aws s3 senza configurare tali impostazioni, le quali vengono rese disponibili per consentirti di ottenere prestazioni ottimizzate o prendere in considerazione l'ambiente specifico in cui esegui questi comandi aws
s3.
Queste impostazioni vengono tutte configurate in una chiave s3 di livello superiore nel file config, come mostrato nell'esempio seguente per il profilo development:
[profile development] s3 = max_concurrent_requests = 20 max_queue_size = 10000 multipart_threshold = 64MB multipart_chunksize = 16MB max_bandwidth = 50MB/s use_accelerate_endpoint = true addressing_style = path
Le impostazioni seguenti si applicano a qualsiasi comando S3 negli spazi dei nomi s3 o s3api.
addressing_style-
Specifica quale stile di indirizzamento utilizzare. Controlla se il nome del bucket è nell'hostname o in una parte dell'URL. I valori validi sono
path,virtualeauto. Il valore predefinito èauto.Sono disponibili due modi per creare un endpoint Amazon S3. Il primo è denominato
virtuale include il nome del bucket come parte del nome host. Ad esempio:https://. In alternativa, lo stilebucketname.s3.amazonaws.compathconsente di considerare il nome del bucket come un percorso nell'URI, ad esempio,https://s3.amazonaws.com/. Per impostazione predefinita, nell'interfaccia a riga di comando viene utilizzatobucketnameauto, che tenta di utilizzare lo stilevirtualse possibile, applicando di nuovo lo stilepathquando necessario. Se non è compatibile con il DNS, il nome del bucket non può ad esempio essere parte del nome host e deve trovarsi nel percorso. Conauto, l'interfaccia a riga di comando rileverà la condizione e passerà automaticamente allo stilepath. Se imposti lo stile di indirizzamento supath, dovrai accertarti che la regione AWS configurata inAWS CLI corrisponda alla regione del bucket. payload_signing_enabled-
Specifica se applicare la firma SHA256 ai payload sigv4. Per impostazione predefinita, è disabilitata per i caricamenti in streaming (
UploadPartePutObject) quando si usa HTTPS. Per impostazione predefinita, è configurata sufalseper i caricamenti in streaming (UploadPartePutObject), ma solo se è presenteContentMD5(generato per impostazione predefinita) e l'endpoint utilizza HTTPS.Se impostata su true, le richieste S3 ricevono un'ulteriore convalida dei contenuti sotto forma di un checksum SHA256, calcolato automaticamente e incluso nella firma di richiesta. Se impostata su false, il checksum non viene calcolato. Può essere utile disabilitare questa impostazione per ridurre il sovraccarico in termini di prestazioni dovuto al calcolo del checksum.
use_accelerate_endpoint-
Utilizza l’endpoint Amazon S3 Accelerate per tutti i comandi
s3es3api. Il valore predefinito è false. Questa impostazione e l'impostazioneuse_dualstack_endpointsi escludono a vicenda.Se impostato su true, la AWS CLI indirizza tutte le richieste Amazon S3 all’endpoint
S3 Accelerateins3-accelerate.amazonaws.com. Per usare questo endpoint, dovrai abilitare l'utilizzo diS3 Accelerateper il bucket. Tutte le richieste vengono inviate utilizzando lo stile virtuale di indirizzamento al bucket:. Le richiestemy-bucket.s3-accelerate.amazonaws.comListBuckets,CreateBucketeDeleteBucketnon verranno inviate all'endpoint di accelerazione S3 in quanto tale endpoint non supporta queste operazioni. Questo comportamento può essere configurato anche se il parametro--endpoint-urlè impostato suhttps://s3-accelerate.amazonaws.comohttp://s3-accelerate.amazonaws.comper qualsiasi comandos3os3api. use_dualstack_endpoint-
Consente l’uso di endpoint dual-stack per inviare richieste
s3es3api. Per ulteriori informazioni sugli endpoint dual-stack, che supportano sia il traffico IPv4 che IPv6, consulta Using Amazon S3 dual-stack endpoints nella Guida per l’utente di Amazon Simple Storage Service. Gli endpoint dual-stack sono disponibili per determinati servizi in alcune Regioni. Se non esiste un endpoint dual-stack per il servizio o la Regione AWS, la richiesta ha esito negativo. Le impostazioni valide sonotrueefalse. Questa opzione è disabilitata per impostazione predefinita. Per ulteriori informazioni, consulta Impostato per utilizzare gli endpoint dual-stack per tutti i Servizi AWS.Questa impostazione e l'impostazione
use_accelerate_endpointsi escludono a vicenda.
Le impostazioni seguenti si applicano solo ai comandi nel set di comandi dello spazio dei nomi s3:
max_bandwidth-
Specifica la larghezza di banda massima che può essere utilizzata per il caricamento e il download dei dati da e verso Amazon S3. Il valore predefinito è senza limiti.
Questa impostazione limita la larghezza di banda massima che i comandi S3 possono utilizzare per trasferire i dati da e verso Amazon S3. Tale valore viene applicato solo ai caricamenti e ai download, non alle operazioni di copia o eliminazione. Il valore viene espresso in byte al secondo. Il valore può essere specificato come segue:
-
Come un intero,
1048576imposta ad esempio l'utilizzo massimo della larghezza di banda su 1 MB al secondo. -
Come un intero seguito da un suffisso di velocità, che può essere specificato utilizzando
KB/s,MB/soGB/s. Ad esempio,300KB/s,10MB/s.
In generale, ti consigliamo di provare in primo luogo a ridurre il consumo di larghezza di banda riducendo
max_concurrent_requests. Se ciò non è sufficiente per limitare il consumo di larghezza di banda in modo appropriato alle tue esigenze, puoi utilizzare l'impostazionemax_bandwidthper limitarlo ulteriormente. Ciò accade perchémax_concurrent_requestscontrolla il numero di thread attualmente in esecuzione. Se invece prima si abbassamax_bandwidthma si lascia un'impostazionemax_concurrent_requestsalta, ciò può comportare che i thread debbano attendere inutilmente. Ciò può portare a un consumo eccessivo di risorse e a timeout di connessione. -
max_concurrent_requests-
Specifica il numero massimo di richieste simultanee. Il valore predefinito è 10.
I comandi di trasferimento
aws s3sono a più thread. In qualsiasi momento, possono essere eseguite più richieste Amazon S3. Quando, ad esempio, utilizzi il comandoaws s3 cp localdir s3://bucket/ --recursiveper caricare i file in un bucket S3, l'AWS CLI può caricare i filelocaldir/file1,localdir/file2elocaldir/file3in parallelo. L'impostazionemax_concurrent_requestsspecifica il numero massimo di operazioni di trasferimento che possono essere eseguite nello stesso momento.Potrebbe essere necessario modificare questo valore per vari motivi:
-
Riduzione del valore. In alcuni ambienti, il valore predefinito di 10 richieste simultanee può sovraccaricare il sistema. Questo può causare un timeout di connessione o una riduzione della velocità di risposta del sistema. Se si riduce questo valore, i comandi di trasferimento S3 utilizzano un numero minore di risorse. Il completamento dei trasferimenti S3 può tuttavia richiedere più tempo. La riduzione di questo valore potrebbe essere necessaria se utilizzi uno strumento per limitare la larghezza di banda.
-
Aumento del valore. In alcuni scenari potrebbe essere necessario che i trasferimenti Amazon S3 vengano completati il più rapidamente possibile, utilizzando la quantità di larghezza di banda della rete necessaria. In questo scenario, il numero predefinito di richieste simultanee potrebbe non essere sufficiente per utilizzare tutta la larghezza di banda di rete disponibile. L’aumento di questo valore può migliorare il tempo necessario per completare un trasferimento Amazon S3.
-
max_queue_size-
Specifica il numero massimo di attività nella coda. Il valore predefinito è 1000.
La AWS CLI utilizza internamente un modello in cui le attività Amazon S3 vengono messe in coda e quindi eseguite dai consumatori, i cui numeri sono limitati dalle
max_concurrent_requests. Un’attività viene in genere mappata a una singola operazione Amazon S3. Un'attività potrebbe ad esempio esserePutObjectTask,GetObjectTaskoUploadPartTask. La velocità con cui le attività vengono aggiunte alla coda può essere molto maggiore rispetto a quella con cui i consumatori terminano le attività. Per evitare la crescita illimitata, esiste un limite specifico per la dimensione della coda delle attività. Questa impostazione consente di modificare il valore del numero massimo.In generale, non è necessario modificare questa impostazione, che corrisponde anche al numero di attività che la AWS CLI riconosce come da eseguire. Ciò significa che, per impostazione predefinita, la AWS CLI è in grado di visualizzare solo le 1000 attività successive. Se si aumenta questo valore, la AWS CLI è in grado di rilevare più rapidamente il numero totale di attività necessarie, presupponendo che la velocità di accodamento sia superiore a quella di completamento delle attività. Il compromesso è che un valore max_queue_size maggiore richiede più memoria.
multipart_chunksize-
Specifica la dimensione dei blocchi che l'AWS CLI utilizza per i trasferimenti in più parti dei singoli file. Il valore predefinito è 8 MB, con un minimo di 5 MB.
Quando un trasferimento file supera il valore
multipart_threshold, la AWS CLI divide il file in blocchi di queste dimensioni. Questo valore può essere specificato utilizzando la stessa sintassi dimultipart_threshold, come numero di byte sotto forma di intero o utilizzando una dimensione e un suffisso. multipart_threshold-
Specifica la soglia della dimensione utilizzata dall'AWS CLI per i trasferimenti in più parti dei singoli file. Il valore predefinito è 8 MB.
Se durante il caricamento, il download o la copia, un file supera tali dimensioni, i comandi Amazon S3 avviano operazioni in più parti. Puoi specificare questo valore in uno dei due modi seguenti:
-
Dimensione dei file in byte. Ad esempio,
1048576. -
Dimensione dei file con un suffisso per la dimensione. Puoi utilizzare
KB,MB,GBoTB. Ad esempio:10MB,1GB.Nota
S3 può imporre vincoli per i valori validi che possono essere utilizzati per operazioni in più parti. Per ulteriori informazioni, consulta S3 Multipart Upload documentation in Amazon Simple Storage Service User Guide.
-