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 stringa YAML
con tutti i campi di errore. Utilizzare per l'automazione e lo scripting. -
text— Formatta gli errori utilizzando il formattatore di testo. Utilizzare 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 (predefinito)
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: bucket S3 inesistente con campi aggiuntivi
aws: [ERROR]: An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist Additional error details: BucketName: amzn-s3-demo-bucket
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: bucket S3 inesistente
{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }
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: bucket S3 inesistente
Code: NoSuchBucket Message: The specified bucket does not exist BucketName: amzn-s3-demo-bucket
Formato testo
Il formato di testo utilizza lo stesso formattatore utilizzato per l'output di un comando riuscito.
Esempio: bucket S3 inesistente
amzn-s3-demo-bucket NoSuchBucket The specified bucket does not exist
Formato della tabella
Il formato della tabella utilizza lo stesso formattatore utilizzato per l'output del comando corretto.
Esempio: bucket S3 inesistente
-------------------------------------------------------------------------------------| | error | +---------------------------+---------------+----------------------------------------+ | BucketName | Code | Message | +---------------------------+---------------+----------------------------------------+ | amzn-s3-demo-bucket | NoSuchBucket | The specified bucket does not exist | +---------------------------+---------------+----------------------------------------+
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: bucket S3 inesistente
An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist
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 s3api get-object \ --bucket amzn-s3-demo-bucket \ --key file.txt out.txt \ --cli-error-format json
Output (stderr):
{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }
Il BucketName campo è un membro di errore modellato restituito dal servizio Amazon S3.