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
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(Standard) — Fehlermeldung mit zusätzlichen Details, die direkt angezeigt werden. Wird für menschenlesbares Debugging verwendet.
-
json— Die Ausgabe ist als JSON-Zeichenfolge
mit allen Fehlerfeldern formatiert. Wird für Automatisierung und Skripting verwendet. -
yaml— Die Ausgabe ist als YAML-String
mit allen Fehlerfeldern formatiert. Wird für Automatisierung und Skripting verwendet. -
text— Formatiert Fehler mit dem Textformatierer. Für schnelles visuelles Scannen verwenden.
-
table— Formatiert Fehler mit dem Tabellenformatierer. Für schnelles visuelles Scannen verwenden.
-
legacy— Ursprüngliches Fehlerformat ohne strukturierte Details. Aus Gründen der Abwärtskompatibilität verwenden.
Fehlerformat wird konfiguriert
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
In den folgenden Abschnitten werden die einzelnen Formate beschrieben:
Verbessertes Format (Standard)
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 vorhandener S3-Bucket mit zusätzlichen Feldern
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
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
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: S3-Bucket existiert nicht
{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }
YAML-Format
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: S3-Bucket existiert nicht
Code: NoSuchBucket Message: The specified bucket does not exist BucketName: amzn-s3-demo-bucket
Textformat
Das Textformat verwendet denselben Formatierer wie die erfolgreiche Befehlsausgabe.
Beispiel: Nicht vorhandener S3-Bucket
amzn-s3-demo-bucket NoSuchBucket The specified bucket does not exist
Tabellenformat
Das Tabellenformat verwendet denselben Formatierer wie die erfolgreiche Befehlsausgabe.
Beispiel: Nicht vorhandener S3-Bucket
-------------------------------------------------------------------------------------| | error | +---------------------------+---------------+----------------------------------------+ | BucketName | Code | Message | +---------------------------+---------------+----------------------------------------+ | amzn-s3-demo-bucket | NoSuchBucket | The specified bucket does not exist | +---------------------------+---------------+----------------------------------------+
Legacy-Format
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: S3-Bucket existiert nicht
An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist
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
Das folgende Beispiel zeigt einen Befehl mit JSON-Fehlerformatierung:
$aws s3api get-object \ --bucket amzn-s3-demo-bucket \ --key file.txt out.txt \ --cli-error-format json
Ausgabe (stderr):
{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }
Das BucketName Feld ist ein modelliertes Fehlerelement, das vom Amazon S3 S3-Service zurückgegeben wurde.