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à.
Output di errore strutturato nel AWS CLI
Questo argomento descrive i formati di output di errore strutturati per AWS Command Line Interface (AWS CLI). La CLI scrive errori su stderr e supporta i seguenti formati:
-
enhanced(impostazione predefinita): messaggio di errore con dettagli aggiuntivi visualizzati in linea. Utilizzare per il debug leggibile dall'uomo.
-
json— L'output è formattato come una stringa JSON con tutti i campi di errore.
Utilizzare per l'automazione e lo scripting. -
yaml— L'output è formattato come una stringa YAML
con tutti i campi di errore. Utilizzare per l'automazione e lo scripting. -
text— Formatta gli errori utilizzando il formattatore di testo. Utilizzatelo per una scansione visiva rapida.
-
table— Formatta gli errori utilizzando il formattatore di tabelle. Utilizzare per una scansione visiva rapida.
-
legacy— Formato di errore originale senza dettagli strutturati. Utilizzare per la compatibilità con le versioni precedenti.
Configurazione del formato di errore
È possibile configurare il formato dell'errore utilizzando uno dei seguenti metodi:
- contrassegno della riga di comando
-
$aws<command>--cli-error-format json - File di configurazione ()
~/.aws/config -
[default] cli_error_format = json - Variabile di ambiente
-
$export AWS_CLI_ERROR_FORMAT=yaml
Formati di output di errore
Le seguenti sezioni descrivono ogni formato:
Formato avanzato (impostazione predefinita)
Il formato avanzato visualizza messaggi di errore con dettagli aggiuntivi in linea per valori semplici. Per strutture complesse, il formato suggerisce di utilizzare JSON o YAML.
Esempio: configurazione della regione mancante
aws: [ERROR]: An error occurred (NoRegion): You must specify a region. You can also configure your region by running "aws configure".
Esempio: funzione Lambda inesistente con campi aggiuntivi
aws: [ERROR]: An error occurred (ResourceNotFoundException) when calling the GetFunction operation: Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345 Additional error details: Type: User
La sezione «Dettagli aggiuntivi sull'errore» mostra solo i campi definiti nel modello di forma dell'errore del servizio. I campi non modellati della risposta all'errore non vengono visualizzati.
Esempio: campi di errore complessi
An error occurred (TransactionCanceledException) when calling the TransactWriteItems operation: Transaction cancelled, please refer cancellation reasons for specific reasons [ConditionalCheckFailed, None] Additional error details: CancellationReasons: <complex value> Use "--cli-error-format json" or another error format to see the full details.
Formato JSON
Il formato JSON fornisce una rappresentazione strutturata con tutti i campi di errore.
Esempio: configurazione della regione mancante
{ "Code": "NoRegion", "Message": "You must specify a region. You can also configure your region by running \"aws configure\"." }
Esempio: funzione Lambda inesistente
{ "Code": "ResourceNotFoundException", "Message": "Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345", "Type": "User" }
Formato YAML
Il formato YAML fornisce una rappresentazione strutturata con tutti i campi di errore.
Esempio: configurazione della regione mancante
Code: NoRegion Message: You must specify a region. You can also configure your region by running "aws configure".
Esempio: funzione Lambda inesistente
Code: ResourceNotFoundException Message: "Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345" Type: User
Formato testo
Il formato di testo utilizza lo stesso formattatore utilizzato per l'output del comando riuscito.
Esempio: funzione Lambda inesistente
ResourceNotFoundException Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345 User
Formato della tabella
Il formato della tabella utilizza lo stesso formattatore utilizzato per l'output del comando corretto.
Esempio: funzione Lambda inesistente
------------------------------------------------------------------------------------------------------------------------------------| | error | +----------------------------+--------------------------------------------------------------------------------------------------+------+ | Code | Message | Type | +----------------------------+--------------------------------------------------------------------------------------------------+------+ | ResourceNotFoundException | Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345 | User | +----------------------------+--------------------------------------------------------------------------------------------------+------+
Formato precedente
Il formato legacy fornisce il formato di errore originale senza dettagli strutturati. Questo formato non include il prefisso «An error occurred (ErrorCode):» per le eccezioni CLI.
Esempio: configurazione della regione mancante
aws: [ERROR]: You must specify a region. You can also configure your region by running "aws configure".
Esempio: funzione Lambda inesistente
An error occurred (ResourceNotFoundException) when calling the GetFunction operation: Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345
Nota
Gli errori ora includono costantemente il aws: [ERROR]: prefisso per le eccezioni CLI. Le versioni precedenti non sempre includevano questo prefisso.
Le seguenti eccezioni utilizzano sempre il formato precedente indipendentemente dal formato di errore configurato:
-
UnknownArgumentError— Visualizza le informazioni sull'utilizzo -
Interruzioni da tastiera ()
KeyboardInterrupt
Esempio completo
L'esempio seguente mostra un comando con formattazione di errore JSON:
$aws lambda get-function \ --function-name nonexistent-function-12345 \ --cli-error-format json
Output (stderr):
{ "Code": "ResourceNotFoundException", "Message": "Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345", "Type": "User" }
Il Type campo è un membro di errore modellato definito nella forma di errore del servizio Lambda. Solo i campi definiti nel modello di errore del servizio sono inclusi nell'output di errore strutturato.