

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
<a name="cli-usage-error-format"></a>

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`](#cli-error-format-enhanced)**(impostazione predefinita): messaggio di errore con dettagli aggiuntivi visualizzati in linea. Utilizzare per il debug leggibile dall'uomo.
+ **[`json`](#cli-error-format-json)**[— L'output è formattato come una stringa JSON con tutti i campi di errore.](https://json.org/) Utilizzare per l'automazione e lo scripting.
+ **[`yaml`](#cli-error-format-yaml)**— L'output è formattato come una stringa [YAML](https://yaml.org/) con tutti i campi di errore. Utilizzare per l'automazione e lo scripting.
+ **[`text`](#cli-error-format-text)**— Formatta gli errori utilizzando il formattatore di testo. Utilizzatelo per una scansione visiva rapida.
+ **[`table`](#cli-error-format-table)**— Formatta gli errori utilizzando il formattatore di tabelle. Utilizzare per una scansione visiva rapida.
+ **[`legacy`](#cli-error-format-legacy)**— Formato di errore originale senza dettagli strutturati. Utilizzare per la compatibilità con le versioni precedenti.

## Configurazione del formato di errore
<a name="cli-error-format-configuring"></a>

È 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
<a name="cli-error-output-formats"></a>

Le seguenti sezioni descrivono ogni formato:

### Formato avanzato (impostazione predefinita)
<a name="cli-error-format-enhanced"></a>

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
<a name="cli-error-format-json"></a>

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
<a name="cli-error-format-yaml"></a>

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
<a name="cli-error-format-text"></a>

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
<a name="cli-error-format-table"></a>

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
<a name="cli-error-format-legacy"></a>

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
<a name="cli-error-format-example"></a>

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.