

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Strukturierte Fehlerausgabe in der AWS CLI
<a name="cli-usage-error-format"></a>

In diesem Thema werden die strukturierten Fehlerausgabeformate für AWS Command Line Interface (AWS CLI) beschrieben. Die CLI schreibt Fehler in stderr und unterstützt die folgenden Formate:
+ **[`enhanced`](#cli-error-format-enhanced)**(Standard) — Fehlermeldung mit zusätzlichen Details, die direkt angezeigt werden. Wird für menschenlesbares Debugging verwendet.
+ **[`json`](#cli-error-format-json)**— Die Ausgabe ist als [JSON-Zeichenfolge](https://json.org/) mit allen Fehlerfeldern formatiert. Wird für Automatisierung und Skripting verwendet.
+ **[`yaml`](#cli-error-format-yaml)**— Die Ausgabe ist als [YAML-String](https://yaml.org/) mit allen Fehlerfeldern formatiert. Wird für Automatisierung und Skripting verwendet.
+ **[`text`](#cli-error-format-text)**— Formatiert Fehler mit dem Textformatierer. Für schnelles visuelles Scannen verwenden.
+ **[`table`](#cli-error-format-table)**— Formatiert Fehler mit dem Tabellenformatierer. Für schnelles visuelles Scannen verwenden.
+ **[`legacy`](#cli-error-format-legacy)**— Ursprüngliches Fehlerformat ohne strukturierte Details. Aus Gründen der Abwärtskompatibilität verwenden.

## Fehlerformat wird konfiguriert
<a name="cli-error-format-configuring"></a>

Sie können das Fehlerformat mit einer der folgenden Methoden konfigurieren:

Befehlszeilen-Flag  

```
$ aws <command> --cli-error-format json
```

Konfigurationsdatei () `~/.aws/config`  

```
[default]
cli_error_format = json
```

Umgebungsvariable  

```
$ export AWS_CLI_ERROR_FORMAT=yaml
```

## Fehler bei den Ausgabeformaten
<a name="cli-error-output-formats"></a>

In den folgenden Abschnitten werden die einzelnen Formate beschrieben:

### Verbessertes Format (Standard)
<a name="cli-error-format-enhanced"></a>

Das erweiterte Format zeigt Fehlermeldungen mit zusätzlichen Inline-Details für einfache Werte an. Für komplexe Strukturen bietet das Format einen Hinweis zur Verwendung von JSON oder YAML.

**Beispiel: Fehlende Regionskonfiguration**

```
aws: [ERROR]: An error occurred (NoRegion): You must specify a region. You can also configure your region by running "aws configure".
```

**Beispiel: Nicht existierende Lambda-Funktion mit zusätzlichen Feldern**

```
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
```

Im Abschnitt „Zusätzliche Fehlerdetails“ werden nur Felder angezeigt, die im Fehlerformmodell des Dienstes definiert sind. Nicht modellierte Felder aus der Fehlerantwort werden nicht angezeigt.

**Beispiel: Komplexe Fehlerfelder**

```
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.
```

### JSON-Format
<a name="cli-error-format-json"></a>

Das JSON-Format bietet eine strukturierte Darstellung mit allen Fehlerfeldern.

**Beispiel: Fehlende Regionskonfiguration**

```
{
    "Code": "NoRegion",
    "Message": "You must specify a region. You can also configure your region by running \"aws configure\"."
}
```

**Beispiel: Lambda-Funktion nicht vorhanden**

```
{
    "Code": "ResourceNotFoundException",
    "Message": "Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345",
    "Type": "User"
}
```

### YAML-Format
<a name="cli-error-format-yaml"></a>

Das YAML-Format bietet eine strukturierte Darstellung mit allen Fehlerfeldern.

**Beispiel: Fehlende Regionskonfiguration**

```
Code: NoRegion
Message: You must specify a region. You can also configure your region by running "aws configure".
```

**Beispiel: Lambda-Funktion nicht vorhanden**

```
Code: ResourceNotFoundException
Message: "Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345"
Type: User
```

### Textformat
<a name="cli-error-format-text"></a>

Das Textformat verwendet denselben Formatierer wie die erfolgreiche Befehlsausgabe.

**Beispiel: Lambda-Funktion nicht vorhanden**

```
ResourceNotFoundException    Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345    User
```

### Tabellenformat
<a name="cli-error-format-table"></a>

Das Tabellenformat verwendet denselben Formatierer wie die erfolgreiche Befehlsausgabe.

**Beispiel: Lambda-Funktion nicht vorhanden**

```
------------------------------------------------------------------------------------------------------------------------------------|
|                                                              error                                                                 |
+----------------------------+--------------------------------------------------------------------------------------------------+------+
|            Code            |                              Message                                                             | Type |
+----------------------------+--------------------------------------------------------------------------------------------------+------+
|  ResourceNotFoundException |  Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345   | User |
+----------------------------+--------------------------------------------------------------------------------------------------+------+
```

### Legacy-Format
<a name="cli-error-format-legacy"></a>

Das Legacy-Format bietet das ursprüngliche Fehlerformat ohne strukturierte Details. Dieses Format enthält nicht das Präfix „Ein Fehler ist aufgetreten (ErrorCode):“ für CLI-Ausnahmen.

**Beispiel: Fehlende Regionskonfiguration**

```
aws: [ERROR]: You must specify a region. You can also configure your region by running "aws configure".
```

**Beispiel: Lambda-Funktion nicht vorhanden**

```
An error occurred (ResourceNotFoundException) when calling the GetFunction operation: Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345
```

**Anmerkung**  
Fehler enthalten jetzt durchgängig das `aws: [ERROR]:` Präfix für CLI-Ausnahmen. Frühere Versionen enthielten dieses Präfix nicht immer.  
Die folgenden Ausnahmen verwenden immer das Legacy-Format, unabhängig vom konfigurierten Fehlerformat:  
`UnknownArgumentError`— Zeigt Nutzungsinformationen an
Tastaturunterbrechungen () `KeyboardInterrupt`

## Vollständiges Beispiel
<a name="cli-error-format-example"></a>

Das folgende Beispiel zeigt einen Befehl mit JSON-Fehlerformatierung:

```
$ aws lambda get-function \
    --function-name nonexistent-function-12345 \
    --cli-error-format json
```

Ausgabe (stderr):

```
{
    "Code": "ResourceNotFoundException",
    "Message": "Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345",
    "Type": "User"
}
```

Das `Type` Feld ist ein modelliertes Fehlerelement, das in der Fehlerform des Lambda-Service definiert ist. Nur Felder, die im Fehlermodell des Dienstes definiert sind, sind in der strukturierten Fehlerausgabe enthalten.