Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.
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à.
Risoluzione degli errori per AWS CLI
Questa sezione descrive gli errori più comuni e le procedure di risoluzione dei problemi da seguire per risolvere il problema. Ti suggeriamo di seguire prima la risoluzione generale della risoluzione dei problemi.
Indice
- Risoluzione dei problemi generali da provare prima
- Errori relativi al comando non trovato
- Il comando aws --version "" restituisce una versione diversa da quella installata
- Il comando "aws --version" restituisce una versione dopo la disinstallazione di AWS CLI
- Ha AWS CLI elaborato un comando con un nome di parametro incompleto
- Errori di accesso negato
- Credenziali non valide ed errori chiave
- La firma non corrisponde agli errori
- Nessun errore rilevato dalla console Windows
- SSLerrori nei certificati
- Errori non validi JSON
- Risorse aggiuntive
Risoluzione dei problemi generali da provare prima
Se ricevi un errore o riscontri un problema con il AWS CLI, ti suggeriamo i seguenti suggerimenti generali per aiutarti a risolvere il problema.
Controlla la formattazione AWS CLI dei comandi
Se ricevi un errore che indica che un comando non esiste o che non riconosce un parametro (Parameter validation failed
) indicato nella documentazione come disponibile, il comando potrebbe essere formattato in modo errato. Ti suggeriamo di controllare quanto segue:
-
Verifica la presenza di errori di ortografia e formattazione nel comando.
-
Conferma tutte le virgolette e l'escape appropriato per il tuo terminale è corretto nel tuo comando.
-
Genera uno AWS CLI scheletro per confermare la struttura dei comandi.
-
PerJSON, consultate la sezione aggiuntiva sulla risoluzione dei problemi relativi ai JSON valori. Se riscontri problemi con la JSON formattazione dell'elaborazione del terminale, ti suggeriamo di ignorare le regole di quotazione del terminale utilizzando Blobs per passare JSON i dati direttamente a. AWS CLI
Verifica che il Regione AWS tuo AWS CLI comando stia usando
Nota
È necessario specificare un valore Regione AWS quando si utilizza la AWS CLI, in modo esplicito o impostando una regione predefinita. Per un elenco di tutti gli elementi Regioni AWS che è possibile specificare, consulta AWS Regioni ed endpoint in. Riferimenti generali di Amazon Web Services I Regione AWS designatori utilizzati da AWS CLI sono gli stessi nomi che vedi negli AWS Management Console URLs endpoint del servizio.
Potrebbero verificarsi errori o risultati imprevisti se uno non Servizio AWS è disponibile per i dati specificati Regione AWS o se le risorse si trovano in un altro. Regione AWS In ordine di precedenza, Regione AWS viene impostato nei seguenti modi:
-
L'opzione della
--region
riga di comando. -
La variabile di
AWS_DEFAULT_REGION
ambiente. -
L'impostazione regiondel profilo.
Conferma di utilizzare le risorse corrette Regione AWS per le tue risorse.
Conferma che stai utilizzando una versione recente di AWS CLI
Se ricevi un errore che indica che un comando non esiste o che non riconosce un parametro che la guida di AWS CLI riferimento alla AWS CLI versione 2 della guida indica disponibile, verifica innanzitutto che il comando sia formattato correttamente. Se la formattazione è corretta, ti consigliamo di eseguire l'aggiornamento alla versione più recente di. AWS CLI Le versioni aggiornate di AWS CLI vengono rilasciate quasi ogni giorno lavorativo. AWS Nuovi servizi, funzionalità e parametri vengono introdotti in queste nuove versioni di AWS CLI. L'unico modo per ottenere l'accesso a questi nuovi servizi, caratteristiche o parametri è eseguire l'aggiornamento a una versione rilasciata dopo che l'elemento è stato introdotto per la prima volta.
La modalità di aggiornamento della versione di AWS CLI dipende da come è stata originariamente installata, come descritto in Installazione, aggiornamento e disinstallazione di AWS CLI.
Se hai utilizzato uno dei programmi di installazione in dotazione, potresti dover rimuovere l'installazione esistente prima di scaricare e installare la versione più recente per il tuo sistema operativo.
Usa l'--debug
opzione
Quando AWS CLI riporta un errore che non comprendi immediatamente o produce risultati inaspettati, puoi ottenere maggiori dettagli sull'errore eseguendo nuovamente il comando con l'--debug
opzione. Con questa opzione, vengono AWS CLI
visualizzati i dettagli di ogni passaggio necessario per elaborare il comando. I dettagli nell'output possono aiutarti a determinare quando si verifica l'errore e forniscono indizi su dove è iniziato.
È possibile inviare l'output a un file di testo per una revisione successiva o inviarlo AWS Support quando richiesto.
Quando includi l'--debug
opzione, alcuni dettagli includono:
-
Ricerca delle credenziali
-
Analisi dei parametri specificati
-
Costruzione della richiesta inviata ai server AWS
-
Il contenuto della richiesta inviata a AWS
-
Il contenuto della risposta non elaborata
-
L'output formattato
Ecco un esempio di un comando eseguito con e senza l'opzione --debug
.
$
aws iam list-groups --profile MyTestProfile
{
"Groups": [
{
"Path": "/",
"GroupName": "MyTestGroup",
"GroupId": "AGPA0123456789EXAMPLE",
"Arn": "arn:aws:iam::123456789012:group/MyTestGroup",
"CreateDate": "2019-08-12T19:34:04Z"
}
]
}
$
aws iam list-groups --profile MyTestProfile --debug
2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205
2019-08-12 12:36:18,305 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['iam', 'list-groups', '--debug']
2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function add_scalar_parsers at 0x7fdf173161e0>
2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function register_uri_param_handler at 0x7fdf17dec400>
2019-08-12 12:36:18,305 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function inject_assume_role_provider_cache at 0x7fdf17da9378>
2019-08-12 12:36:18,307 - MainThread - botocore.credentials - DEBUG - Skipping environment variable credential check because profile name was explicitly set.
2019-08-12 12:36:18,307 - MainThread - botocore.hooks - DEBUG - Event session-initialized: calling handler <function attach_history_handler at 0x7fdf173ed9d8>
2019-08-12 12:36:18,308 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/service-2.json
2019-08-12 12:36:18,317 - MainThread - botocore.hooks - DEBUG - Event building-command-table.iam: calling handler <function add_waiters at 0x7fdf1731a840>
2019-08-12 12:36:18,320 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/waiters-2.json
2019-08-12 12:36:18,321 - MainThread - awscli.clidriver - DEBUG - OrderedDict([('path-prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker', <awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items', <awscli.arguments.CLIArgument object at 0x7fdf171b09b0>)])
2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_streaming_output_arg at 0x7fdf17316510>
2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_cli_input_json at 0x7fdf17da9d90>
2019-08-12 12:36:18,322 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function unify_paging_params at 0x7fdf17328048>
2019-08-12 12:36:18,326 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/iam/2010-05-08/paginators-1.json
2019-08-12 12:36:18,326 - MainThread - awscli.customizations.paginate - DEBUG - Modifying paging parameters for operation: ListGroups
2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event building-argument-table.iam.list-groups: calling handler <function add_generate_skeleton at 0x7fdf1737eae8>
2019-08-12 12:36:18,326 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.iam.list-groups: calling handler <bound method OverrideRequiredArgsArgument.override_required_args of <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>>
2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event before-building-argument-table-parser.iam.list-groups: calling handler <bound method GenerateCliSkeletonArgument.override_required_args of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>>
2019-08-12 12:36:18,327 - MainThread - botocore.hooks - DEBUG - Event operation-args-parsed.iam.list-groups: calling handler functools.partial(<function check_should_enable_pagination at 0x7fdf17328158>, ['marker', 'max-items'], {'max-items': <awscli.arguments.CLIArgument object at 0x7fdf171b09b0>}, OrderedDict([('path-prefix', <awscli.arguments.CLIArgument object at 0x7fdf171ac780>), ('marker', <awscli.arguments.CLIArgument object at 0x7fdf171b09e8>), ('max-items', <awscli.customizations.paginate.PageArgument object at 0x7fdf171c58d0>), ('cli-input-json', <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>), ('starting-token', <awscli.customizations.paginate.PageArgument object at 0x7fdf171b0a20>), ('page-size', <awscli.customizations.paginate.PageArgument object at 0x7fdf171c5828>), ('generate-cli-skeleton', <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>)]))
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.path-prefix: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.marker: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.max-items: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.cli-input-json: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.starting-token: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.page-size: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,328 - MainThread - botocore.hooks - DEBUG - Event load-cli-arg.iam.list-groups.generate-cli-skeleton: calling handler <awscli.paramfile.URIArgumentHandler object at 0x7fdf1725c978>
2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG - Event calling-command.iam.list-groups: calling handler <bound method CliInputJSONArgument.add_to_call_parameters of <awscli.customizations.cliinputjson.CliInputJSONArgument object at 0x7fdf171b0a58>>
2019-08-12 12:36:18,329 - MainThread - botocore.hooks - DEBUG - Event calling-command.iam.list-groups: calling handler <bound method GenerateCliSkeletonArgument.generate_json_skeleton of <awscli.customizations.generatecliskeleton.GenerateCliSkeletonArgument object at 0x7fdf171c5978>>
2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role
2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: assume-role-with-web-identity
2019-08-12 12:36:18,329 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: shared-credentials-file
2019-08-12 12:36:18,329 - MainThread - botocore.credentials - INFO - Found credentials in shared credentials file: ~/.aws/credentials
2019-08-12 12:36:18,330 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/endpoints.json
2019-08-12 12:36:18,334 - MainThread - botocore.hooks - DEBUG - Event choose-service-name: calling handler <function handle_service_name_alias at 0x7fdf1898eb70>
2019-08-12 12:36:18,337 - MainThread - botocore.hooks - DEBUG - Event creating-client-class.iam: calling handler <function add_generate_presigned_url at 0x7fdf18a028c8>
2019-08-12 12:36:18,337 - MainThread - botocore.regions - DEBUG - Using partition endpoint for iam, us-west-2: aws-global
2019-08-12 12:36:18,337 - MainThread - botocore.args - DEBUG - The s3 config key is not a dictionary type, ignoring its value of: None
2019-08-12 12:36:18,340 - MainThread - botocore.endpoint - DEBUG - Setting iam timeout as (60, 60)
2019-08-12 12:36:18,341 - MainThread - botocore.loaders - DEBUG - Loading JSON file: /home/ec2-user/venv/lib/python3.7/site-packages/botocore/data/_retry.json
2019-08-12 12:36:18,341 - MainThread - botocore.client - DEBUG - Registering retry handlers for service: iam
2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-parameter-build.iam.ListGroups: calling handler <function generate_idempotent_uuid at 0x7fdf189b10d0>
2019-08-12 12:36:18,342 - MainThread - botocore.hooks - DEBUG - Event before-call.iam.ListGroups: calling handler <function inject_api_version_header_if_needed at 0x7fdf189b2a60>
2019-08-12 12:36:18,343 - MainThread - botocore.endpoint - DEBUG - Making request for OperationModel(name=ListGroups) with params: {'url_path': '/', 'query_string': '', 'method': 'POST', 'headers': {'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': 'aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205'}, 'body': {'Action': 'ListGroups', 'Version': '2010-05-08'}, 'url': 'https://iam.amazonaws.com/', 'context': {'client_region': 'aws-global', 'client_config': <botocore.config.Config object at 0x7fdf16e9a4a8>, 'has_streaming_input': False, 'auth_type': None}}
2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event request-created.iam.ListGroups: calling handler <bound method RequestSigner.handler of <botocore.signers.RequestSigner object at 0x7fdf16e9a470>>
2019-08-12 12:36:18,343 - MainThread - botocore.hooks - DEBUG - Event choose-signer.iam.ListGroups: calling handler <function set_operation_specific_signer at 0x7fdf18996f28>
2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - Calculating signature using v4 auth.
2019-08-12 12:36:18,343 - MainThread - botocore.auth - DEBUG - CanonicalRequest:
POST
/
content-type:application/x-www-form-urlencoded; charset=utf-8
host:iam.amazonaws.com
x-amz-date:20190812T193618Z
content-type;host;x-amz-date
5f776d91EXAMPLE9b8cb5eb5d6d4a787a33ae41c8cd6eEXAMPLEca69080e1e1f
2019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - StringToSign:
AWS4-HMAC-SHA256
20190812T193618Z
20190812/us-east-1/iam/aws4_request
ab7e367eEXAMPLE2769f178ea509978cf8bfa054874b3EXAMPLE8d043fab6cc9
2019-08-12 12:36:18,344 - MainThread - botocore.auth - DEBUG - Signature:
d85a0EXAMPLEb40164f2f539cdc76d4f294fe822EXAMPLE18ad1ddf58a1a3ce7
2019-08-12 12:36:18,344 - MainThread - botocore.endpoint - DEBUG - Sending http request: <AWSPreparedRequest stream_output=False, method=POST, url=https://iam.amazonaws.com/, headers={'Content-Type': b'application/x-www-form-urlencoded; charset=utf-8', 'User-Agent': b'aws-cli/1.16.215 Python/3.7.3 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.12.205', 'X-Amz-Date': b'20190812T193618Z', 'Authorization': b'AWS4-HMAC-SHA256 Credential=AKIA01234567890EXAMPLE-east-1/iam/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=d85a07692aceb401EXAMPLEa1b18ad1ddf58a1a3ce7EXAMPLE', 'Content-Length': '36'}>
2019-08-12 12:36:18,344 - MainThread - urllib3.util.retry - DEBUG - Converted retries value: False -> Retry(total=False, connect=None, read=None, redirect=0, status=None)
2019-08-12 12:36:18,344 - MainThread - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): iam.amazonaws.com:443
2019-08-12 12:36:18,664 - MainThread - urllib3.connectionpool - DEBUG - https://iam.amazonaws.com:443 "POST / HTTP/1.1" 200 570
2019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response headers: {'x-amzn-RequestId': '74c11606-bd38-11e9-9c82-559da0adb349', 'Content-Type': 'text/xml', 'Content-Length': '570', 'Date': 'Mon, 12 Aug 2019 19:36:18 GMT'}
2019-08-12 12:36:18,664 - MainThread - botocore.parsers - DEBUG - Response body:
b'<ListGroupsResponse xmlns="https://iam.amazonaws.com/doc/2010-05-08/">\n <ListGroupsResult>\n <IsTruncated>false</IsTruncated>\n <Groups>\n <member>\n <Path>/</Path>\n <GroupName>MyTestGroup</GroupName>\n <Arn>arn:aws:iam::123456789012:group/MyTestGroup</Arn>\n <GroupId>AGPA1234567890EXAMPLE</GroupId>\n <CreateDate>2019-08-12T19:34:04Z</CreateDate>\n </member>\n </Groups>\n </ListGroupsResult>\n <ResponseMetadata>\n <RequestId>74c11606-bd38-11e9-9c82-559da0adb349</RequestId>\n </ResponseMetadata>\n</ListGroupsResponse>\n'
2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event needs-retry.iam.ListGroups: calling handler <botocore.retryhandler.RetryHandler object at 0x7fdf16e9a780>
2019-08-12 12:36:18,665 - MainThread - botocore.retryhandler - DEBUG - No retry needed.
2019-08-12 12:36:18,665 - MainThread - botocore.hooks - DEBUG - Event after-call.iam.ListGroups: calling handler <function json_decode_policies at 0x7fdf189b1d90>
{
"Groups": [
{
"Path": "/",
"GroupName": "MyTestGroup",
"GroupId": "AGPA123456789012EXAMPLE",
"Arn": "arn:aws:iam::123456789012:group/MyTestGroup",
"CreateDate": "2019-08-12T19:34:04Z"
}
]
}
Abilita e rivedi i registri della cronologia dei AWS CLI comandi
È possibile abilitare i registri della cronologia dei AWS CLI comandi utilizzando l'impostazione del cli_history
file. Dopo aver abilitato questa impostazione, AWS CLI registra la cronologia dei aws
comandi.
È possibile elencare la cronologia utilizzando il aws history list
comando e utilizzare il command_ids risultante nel aws history show
comando per i dettagli. Per ulteriori informazioni, consulta la guida aws
history
di riferimento.AWS CLI
Quando includi l'--debug
opzione, alcuni dettagli includono:
-
APIchiamate effettuate a botocore
-
Codici di stato
-
HTTPrisposte
-
Headers
-
Codici di restituzione
È possibile utilizzare queste informazioni per confermare che i dati dei parametri e API le chiamate si comportano nel modo previsto e quindi dedurre in quale fase del processo il comando non funziona.
Conferma che il tuo AWS CLI sia configurato
Se credentials
i file config
e l'IAMutente o il ruolo non sono configurati correttamente, possono verificarsi diversi errori. Per ulteriori informazioni sulla risoluzione degli errori relativi ai credentials
file config
and o IAM all'utente o ai ruoli, consulta Errori di accesso negato eCredenziali non valide ed errori chiave.
Errori relativi al comando non trovato
Questo errore indica che il sistema operativo non riesce a trovare il AWS CLI comando. L'installazione potrebbe essere incompleta o richiedere un aggiornamento.
- Possibile causa: stai cercando di utilizzare una AWS CLI funzionalità più recente della versione installata o hai una formattazione errata
-
Esempio di testo di errore:
$
aws s3 copy
usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> help aws <command> <subcommand> help
aws: error: argument subcommand: Invalid choice, valid choices are:
ls | website cp | mv ....Possono verificarsi diversi errori se il comando è formattato in modo errato o se si utilizza una versione precedente precedente al rilascio della funzionalità. Per ulteriori informazioni sulla risoluzione degli errori relativi a questi due problemi, consulta e. Controlla la formattazione AWS CLI dei comandi Conferma che stai utilizzando una versione recente di AWS CLI
- Possibile causa: il terminale deve essere riavviato dopo l'installazione
-
Testo di errore di esempio:
$
aws --version
command not found: aws
Se il
aws
comando non viene trovato dopo la prima installazione o l'aggiornamento di AWS CLI, potrebbe essere necessario riavviare il terminale per far sì che riconosca eventualiPATH
aggiornamenti. - Possibile causa: l'installazione AWS CLI non è stata completata
-
Testo di errore di esempio:
$
aws --version
command not found: aws
Se il
aws
comando non può essere trovato dopo la prima installazione o l'aggiornamento di AWS CLI, è possibile che non sia stato installato completamente. Prova a reinstallarlo seguendo i passaggi relativi alla tua piattaforma in Installazione, aggiornamento e disinstallazione di AWS CLI. - Possibile causa: AWS CLI non dispone di autorizzazioni (Linux)
-
Se il
aws
comando non viene trovato dopo la prima installazione o l'aggiornamento AWS CLI su Linux, è possibile che non dispongaexecute
delle autorizzazioni per la cartella in cui è installato. Esegui il seguente comando con laPATH
tua AWS CLI installazione, per fornirechmod
le autorizzazioni a: AWS CLI$
sudo chmod -R 755
/usr/local/aws-cli/
- Possibile causa: il sistema operativo non
PATH
è stato aggiornato durante l'installazione -
Testo di errore di esempio:
$
aws --version
command not found: aws
Potrebbe essere necessario aggiungere l'eseguibile
aws
alla variabile di ambientePATH
del sistema operativo in uso. Per aggiungerlo AWS CLI al tuoPATH
, usa le seguenti istruzioni per il tuo sistema operativo.
Il comando aws --version
"" restituisce una versione diversa da quella installata
È possibile che il terminale restituisca una PATH
risposta diversa AWS CLI da quella prevista.
- Possibile causa: il terminale deve essere riavviato dopo l'installazione
-
Se il
aws
comando mostra la versione sbagliata, potrebbe essere necessario riavviare il terminale per riconoscere eventualiPATH
aggiornamenti. Tutti i terminali aperti devono essere chiusi, non solo il terminale attivo. - Possibile causa: il sistema deve essere riavviato dopo l'installazione
-
Se il
aws
comando mostra la versione sbagliata e il riavvio del terminale non ha funzionato, potrebbe essere necessario riavviare il sistema per far sì che riconosca gli aggiornamenti.PATH
- Possibile causa: sono disponibili più versioni di AWS CLI
-
Se hai aggiornato AWS CLI e utilizzato un metodo di installazione diverso da quello dell'installazione preesistente, è possibile che vengano installate più versioni. Ad esempio, se su Linux o macOS lo hai utilizzato
pip
per l'installazione corrente, ma hai provato ad aggiornare utilizzando il file di.pkg
installazione, ciò potrebbe causare alcuni conflitti, specialmente con ilPATH
riferimento alla versione precedente.Per risolvere il problema, disinstalla tutte le versioni di AWS CLI ed esegui un'installazione pulita.
Dopo aver disinstallato tutte le versioni, segui le istruzioni appropriate per il tuo sistema operativo per installare la versione desiderata della AWS CLI versione 1 o della AWS CLI versione 2.
Nota
Se ciò accade dopo aver installato la AWS CLI versione 2 con un'installazione preesistente della AWS CLI versione 1, segui le istruzioni di migrazione contenute nelle Istruzioni di installazione durante la migrazione dalla AWS CLI versione 1.
Il comando "aws --version
" restituisce una versione dopo la disinstallazione di AWS CLI
Ciò si verifica spesso quando ne è ancora AWS CLI installato uno da qualche parte sul sistema.
- Possibile causa: il terminale deve essere riavviato dopo la disinstallazione
-
Se il
aws --version
comando funziona ancora, potrebbe essere necessario riavviare il terminale per far sì che riconosca eventuali aggiornamenti del terminale. - Possibile causa: AWS CLI sul sistema sono presenti più versioni di o non è stato utilizzato lo stesso metodo di disinstallazione utilizzato per l'installazione originale di AWS CLI
-
AWS CLI Potrebbe non essere disinstallato correttamente se lo hai disinstallato AWS CLI utilizzando un metodo diverso da quello usato per installarlo o se hai installato più versioni. Ad esempio, se l'hai utilizzata
pip
per l'installazione corrente, devipip
disinstallarla. Per risolvere il problema, esegui la disinstallazione AWS CLI utilizzando lo stesso metodo utilizzato per installarla.-
Segui le istruzioni appropriate per il tuo sistema operativo e il metodo di installazione originale per disinstallare la AWS CLI versione 1 e la AWS CLI versione 2.
-
Chiudi tutti i terminali che hai aperto.
-
Apri il tuo terminale preferito, inserisci il seguente comando e conferma che non viene restituita alcuna versione.
$
aws --version
command not found: aws
Se hai ancora una versione elencata nell'output, probabilmente AWS CLI è stata installata utilizzando un metodo diverso o esistono più versioni. Se non sai quale metodo hai installato AWS CLI, segui le istruzioni per ogni metodo di disinstallazione per la AWS CLI versione 1 e la AWS CLI versione 2 appropriati al tuo sistema operativo fino a quando non viene ricevuta alcuna versione in uscita.
Nota
Se hai usato un gestore di pacchetti per installare AWS CLI (
pip
,apt
brew
, ecc.), devi usare lo stesso gestore di pacchetti per disinstallarlo. Assicuratevi di seguire le istruzioni fornite dal gestore di pacchetti su come disinstallare tutte le versioni di un pacchetto.
-
Ha AWS CLI elaborato un comando con un nome di parametro incompleto
- Possibile causa: è stata utilizzata un'abbreviazione riconosciuta del parametro AWS CLI
-
Poiché AWS CLI è stato creato utilizzando Python, AWS CLI utilizza la
argparse
libreria Python, incluso l'argomento.allow_abbrev
Le abbreviazioni dei parametri vengono riconosciute da ed elaborate AWS CLI . Il seguente esempio di
create-change-set
comando modifica il nome dello CloudFormation stack. Il parametro--change-set-n
viene riconosciuto come abbreviazione di--change-set-name
ed AWS CLI elabora il comando.$
aws cloudformation create-change-set --stack-name my-stack
--change-set-n
my-change-setSe l'abbreviazione potrebbe essere composta da più comandi, il parametro non verrà riconosciuto come abbreviazione.
Il seguente esempio di
create-change-set
comando modifica il nome dello CloudFormation stack. Il parametro non--change-set-
è riconosciuto come abbreviazione, poiché esistono più parametri di cui potrebbe essere un'abbreviazione, ad esempio and.--change-set-name
--change-set-type
Pertanto AWS CLI non elabora il comando.$
aws cloudformation create-change-set --stack-name my-stack
--change-set-
my-change-setavvertimento
Non utilizzate intenzionalmente le abbreviazioni dei parametri. Non sono affidabili e non sono retrocompatibili. Se a un comando vengono aggiunti nuovi parametri che confondono le abbreviazioni, i comandi verranno interrotti.
Inoltre, se il parametro è un argomento a valore singolo, può causare un comportamento imprevisto con i comandi. Se vengono passate più istanze di un argomento a valore singolo, verrà eseguita solo l'ultima istanza. Nell'esempio seguente, il parametro
--filters
è un argomento a valore singolo. I parametri--filters
e--filter
sono specificati. Il--filter
parametro è l'abbreviazione di.--filters
Ciò comporta l'applicazione di due istanze e--filters
viene applicato solo l'ultimo--filter
argomento.$
aws ec2 describe-vpc-peering-connections \
--filters
Name=tag:TagName,Values=VpcPeeringConnection \--filter
Name=status-code,Values=activeConfermate di utilizzare parametri validi prima di eseguire un comando per evitare comportamenti imprevisti.
Errori di accesso negato
- Possibile causa: il file di AWS CLI programma non dispone dell'autorizzazione di «esecuzione»
-
Su Linux o macOS, assicurati che il
aws
programma disponga delle autorizzazioni di esecuzione per l'utente chiamante. In genere, le autorizzazioni sono impostate su755
.Per aggiungere l'autorizzazione di esecuzione per il tuo utente, esegui il comando seguente, sostituendo
~/.local/bin/aws
con il percorso del programma sul tuo computer.$
chmod +x
~/.local/bin/aws
- Possibile causa: la tua IAM identità non è autorizzata a eseguire l'operazione
-
Esempio di testo di errore:
$
aws s3 ls
An error occurred (AcessDenied) when calling the ListBuckets operation: Access denied.
Quando esegui un AWS CLI comando, AWS le operazioni vengono eseguite per tuo conto, utilizzando credenziali che ti associano a un IAM account o a un ruolo. I criteri allegati devono concedere all'utente l'autorizzazione a richiamare API le azioni che corrispondono ai comandi eseguiti con. AWS CLI
La maggior parte dei comandi chiamano una singola operazione con un nome corrispondente al nome del comando. Tuttavia, comandi personalizzati come le
aws s3 sync
chiamate multipleAPIs. È possibile vedere quale APIs comando chiama utilizzando l'--debug
opzione.Se sei sicuro che l'utente o il ruolo disponga delle autorizzazioni appropriate assegnate dalla policy, assicurati che il AWS CLI comando utilizzi le credenziali previste. Consultate la sezione successiva sulle credenziali per verificare che le credenziali utilizzate AWS CLI siano quelle previste.
Per informazioni sull'assegnazione IAM delle autorizzazioni, vedere Panoramica sulla gestione degli accessi: autorizzazioni e politiche nella Guida per l'utente. IAM
Credenziali non valide ed errori chiave
Testo di errore di esempio:
$
aws s3 ls
An error occurred (InvalidAccessKeyId) when calling the ListBuckets operation: The AWS Access Key Id you provided does not exist in our records.
$
aws s3 ls
An error occurred (InvalidClientTokenId) when calling the ListBuckets operation: The security token included in the request is invalid.
- Possibile causa: AWS CLI sta leggendo credenziali errate o da una posizione inaspettata
-
È AWS CLI possibile che stia leggendo le credenziali da una posizione diversa da quella prevista o che le informazioni sulla coppia di chiavi non siano corrette. Puoi eseguire
aws configure list
per verificare le credenziali utilizzate.L'esempio seguente mostra come controllare le credenziali utilizzate per il profilo predefinito.
$
aws configure list
Name Value Type Location ---- ----- ---- -------- profile <not set> None None access_key ****************XYVA shared-credentials-file secret_key ****************ZAGY shared-credentials-file region us-west-2 config-file ~/.aws/config
L'esempio seguente mostra come controllare le credenziali di un profilo denominato.
$
aws configure list --profile saanvi
Name Value Type Location ---- ----- ---- -------- profile saanvi manual --profile access_key **************** shared-credentials-file secret_key **************** shared-credentials-file region us-west-2 config-file ~/.aws/config
Per confermare i dettagli della tua key pair, controlla i tuoi
credentials
fileconfig
e. Per ulteriori informazioni suicredentials
fileconfig
and, consultaImpostazioni dei file di configurazione e credenziali in AWS CLI. Per ulteriori informazioni sulle credenziali e sull'autenticazione, inclusa la precedenza delle credenziali, vedere. Credenziali di autenticazione e accesso per AWS CLI - Possibile causa: l'orologio del computer non è sincronizzato
-
Se utilizzi credenziali valide, l'orologio potrebbe non essere sincronizzato. Su Linux o macOS, esegui
date
per controllare l'ora.$
date
Se l'orologio di sistema non viene corretto nel giro di pochi minuti, utilizza
ntpd
per sincronizzarlo.$
sudo service ntpd stop
$
sudo ntpdate time.nist.gov
$
sudo service ntpd start
$
ntpstat
In Windows utilizza le opzioni di data e ora nel pannello di controllo per configurare l'orologio di sistema.
La firma non corrisponde agli errori
Esempio di testo di errore:
$
aws s3 ls
An error occurred (SignatureDoesNotMatch) when calling the ListBuckets operation: The request signature we calculated does not match the signature you provided. Check your key and signing method.
Quando AWS CLI esegue un comando, invia una richiesta crittografata ai AWS server per eseguire le operazioni di AWS servizio appropriate. Le credenziali (la chiave di accesso e la chiave segreta) sono coinvolte nella crittografia e AWS consentono l'autenticazione della persona che effettua la richiesta. Ci sono diversi aspetti che possono interferire con il corretto funzionamento di questo processo, come illustrato di seguito:
- Possibile causa: l'orologio non è sincronizzato con i server AWS
-
Per proteggersi dagli attacchi di tipo 'replay' (riproduzione)
, puoi utilizzare l'ora corrente durante il processo di crittografia/decrittografia. Se l'ora del client e quella del server non corrispondono per un intervallo superiore a quello consentito, il processo può avere esito negativo e la richiesta viene rifiutata. Ciò si può verificare anche quando esegui un comando in una macchina virtuale il cui orologio non è sincronizzato con l'orologio del computer host. Una possibile causa è quando la macchina virtuale va in letargo e dopo il risveglio impiega del tempo per sincronizzare l'orologio con la macchina host. Su Linux o macOS, esegui
date
per controllare l'ora.$
date
Se l'orologio di sistema non viene corretto nel giro di pochi minuti, utilizza
ntpd
per sincronizzarlo.$
sudo service ntpd stop
$
sudo ntpdate time.nist.gov
$
sudo service ntpd start
$
ntpstat
In Windows utilizza le opzioni di data e ora nel pannello di controllo per configurare l'orologio di sistema.
- Possibile causa: il sistema operativo sta gestendo male AWS le chiavi che contengono determinati caratteri speciali
-
Se le AWS chiavi includono determinati caratteri speciali, ad esempio
-
,, o+
/
%
, alcune varianti del sistema operativo elaborano la stringa in modo errato e causano un'interpretazione errata della stringa chiave.Se elaborate le chiavi utilizzando altri strumenti o script, ad esempio strumenti che creano il file delle credenziali su una nuova istanza durante la sua creazione, tali strumenti e script potrebbero avere una propria gestione dei caratteri speciali che li trasforma in qualcosa che non è più riconoscibile. AWS
Ti consigliamo di rigenerare la chiave segreta per ottenerne una che non includa il carattere speciale che causa problemi.
Nessun errore rilevato dalla console Windows
Testo di errore di esempio:
$
aws s3 ls
No Windows console found. Are you running cmd.exe?
Quando si utilizza un AWS CLI comando, viene visualizzato il messaggio «Nessuna console Windows trovata. Stai eseguendo cmd.exe?» messaggio di errore. Questo di solito è un errore visualizzato per la AWS CLI versione 1 se il Python prompt_toolkit
che hai installato non è aggiornato. Per risolvere questo problema, installa una versione recente di prompt_toolkit
sul sito Web di Python
SSLerrori nei certificati
- Possibile causa: AWS CLI non si fida del certificato del proxy
-
Testo di errore di esempio:
$
aws s3 ls
[SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed
Quando si utilizza un AWS CLI comando, viene visualizzato un messaggio
[SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed
di errore. Ciò è dovuto al fatto che il certificato del proxy AWS CLI non è considerato attendibile a causa di fattori quali l'autofirma del certificato del proxy e l'autorità di certificazione (CA) della società è stata scelta come Autorità di certificazione (CA). In questo modo non è AWS CLI possibile trovare il certificato principale CA dell'azienda nel registro CA locale.Per risolvere questo problema, indica AWS CLI dove trovare il file aziendale utilizzando l'impostazione del
.pem
file dica_bundle
configurazione, l'opzione della riga di --ca-bundle comando o la variabile diAWS_CA_BUNDLE
ambiente. - Possibile causa: la configurazione non punta alla posizione corretta del certificato radice CA
-
Esempio di testo di errore:
$
aws s3 ls
SSL validation failed for
regionname
[Errno 2] No such file or directoryCiò è causato dal fatto che la posizione del file del bundle dell'Autorità di certificazione (CA) non è configurata correttamente in. AWS CLI Per risolvere questo problema, confermate dove si trova il
.pem
file aziendale e aggiorna la AWS CLI configurazione utilizzando l'impostazione del file dica_bundle
configurazione, l'opzione della riga di --ca-bundle comando o la variabile diAWS_CA_BUNDLE
ambiente. - Possibile causa: la tua configurazione non utilizza la versione corretta Regione AWS
-
Esempio di testo di errore:
$
aws s3 ls
[SSL: CERTIFICATE_ VERIFY_FAILED] certificate verify failed
Potrebbero verificarsi errori o risultati imprevisti se uno non Servizio AWS è disponibile per i dati specificati Regione AWS o se le risorse si trovano in un altro Regione AWS. Per la risoluzione dei problemi, consulta Verifica che il Regione AWS tuo AWS CLI comando stia usando.
- Possibile causa: la tua TLS versione deve essere aggiornata
-
Esempio di testo di errore:
$
aws s3 ls
[SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled
Servizio AWS Sta utilizzando una versione TLS incompatibile con la TLS versione del tuo dispositivo. Per risolvere questo problema, esegui l'aggiornamento a una TLS versione supportata. Per ulteriori informazioni, consulta Applicazione di una versione minima di TLS for AWS CLI.
Errori non validi JSON
Esempio di testo di errore:
$
aws dynamodb update-table \ --provisioned-throughput
'{"ReadCapacityUnits":15,WriteCapacityUnits":10}'
\ --table-name MyDDBTableError parsing parameter '--provisioned-throughput': Invalid JSON: Expecting property name enclosed in double quotes: line 1 column 25 (char 24) JSON received: {"ReadCapacityUnits":15,WriteCapacityUnits":10}
Quando si utilizza un AWS CLI comando, viene visualizzato un messaggio di errore Invalid JSON
"». Di solito si tratta di un errore visualizzato quando si immette un comando con un JSON formato previsto e AWS CLI non è possibile leggerlo JSON correttamente.
- Possibile causa: non hai inserito un valore valido JSON AWS CLI per l'uso
-
Conferma di aver JSON inserito un valore valido per il tuo comando. Ti consigliamo di utilizzare un JSON validatore JSON se hai problemi di formattazione.
Per un JSON utilizzo più avanzato nella riga di comando, prendi in considerazione l'utilizzo di un JSON processore da riga di comando, ad esempio
jq
, per creare JSON stringhe. Per maggiori informazioni sujq
, consulta il repository jqsu. GitHub - Possibile causa: le regole di quotazione del terminale impediscono l'invio di JSON messaggi validi a AWS CLI
-
Prima di AWS CLI ricevere qualcosa da un comando, il terminale elabora il comando utilizzando le proprie regole di citazione ed escape. A causa delle regole di formattazione di un terminale, alcuni JSON contenuti potrebbero essere rimossi prima che il comando venga passato a. AWS CLI Quando formuli i comandi, assicurati di utilizzare le regole di quotazione del tuo terminale.
Per risolvere i problemi, usa il
echo
comando per vedere come la shell gestisce i tuoi parametri:$
echo {"ReadCapacityUnits":15,"WriteCapacityUnits":10}
ReadCapacityUnits:15 WriteCapacityUnits:10
$
echo '{"ReadCapacityUnits":15,"WriteCapacityUnits":10}'
{"ReadCapacityUnits":15,"WriteCapacityUnits":10}
Modifica il comando finché non viene restituito il comando until validJSON.
Per una risoluzione dei problemi più approfondita, usa il
--debug
parametro per visualizzare i log di debug in quanto mostreranno esattamente ciò che è stato passato a: AWS CLI$
aws dynamodb update-table \ --provisioned-throughput
'{"ReadCapacityUnits":15,WriteCapacityUnits":10}'
\ --table-name MyDDBTable \ --debug2022-07-19 22:25:07,741 - MainThread - awscli.clidriver - DEBUG - CLI version: aws-cli/1.18.147 Python/2.7.18 Linux/5.4.196-119.356.amzn2int.x86_64 botocore/1.18.6 2022-07-19 22:25:07,741 - MainThread - awscli.clidriver - DEBUG - Arguments entered to CLI: ['dynamodb', 'update-table', '--provisioned-throughput', '{"ReadCapacityUnits":15,WriteCapacityUnits":10}', '--table-name', 'MyDDBTable', '--debug']
Usa le regole di quotazione del tuo terminale per risolvere eventuali problemi riscontrati dai tuoi JSON input quando vengono inviati a. AWS CLI Per ulteriori informazioni sulle regole di quotazione, vedere. Utilizzo di virgolette e valori letterali con stringhe in AWS CLI
Nota
Se hai problemi JSON a ottenere la validità su AWS CLI, ti consigliamo di aggirare le regole di quotazione di un terminale per l'immissione JSON dei dati utilizzando Blobs per passare i dati JSON direttamente a. AWS CLI Per ulteriori informazioni su Blobs, consulta. Blob
Risorse aggiuntive
Per ulteriore assistenza con i tuoi AWS CLI problemi, visita la AWS CLI community