Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Sortie d'erreur structurée dans AWS CLI
Cette rubrique décrit les formats de sortie d'erreur structurés pour le AWS Command Line Interface (AWS CLI). La CLI écrit les erreurs dans stderr et prend en charge les formats suivants :
-
enhanced(par défaut) — Message d'erreur avec des détails supplémentaires affichés en ligne. À utiliser pour un débogage lisible par l'homme.
-
json— La sortie est formatée sous forme de chaîne JSON
avec tous les champs d'erreur. À utiliser pour l'automatisation et la création de scripts. -
yaml— La sortie est formatée sous forme de chaîne YAML
avec tous les champs d'erreur. À utiliser pour l'automatisation et la création de scripts. -
text— Erreurs de formatage à l'aide du formateur de texte. À utiliser pour un scan visuel rapide.
-
table— Formate les erreurs à l'aide du formateur de tableau. À utiliser pour un scan visuel rapide.
-
legacy— Format d'erreur original sans détails structurés. À utiliser pour des raisons de rétrocompatibilité.
Configuration du format d'erreur
Vous pouvez configurer le format d'erreur à l'aide de l'une des méthodes suivantes :
- Drapeau de ligne de commande
-
$aws<command>--cli-error-format json - Fichier de configuration (
~/.aws/config) -
[default] cli_error_format = json - Variable d'environnement
-
$export AWS_CLI_ERROR_FORMAT=yaml
Formats de sortie d'erreur
Les sections suivantes décrivent chaque format :
Format amélioré (par défaut)
Le format amélioré affiche les messages d'erreur avec des détails supplémentaires intégrés pour les valeurs simples. Pour les structures complexes, le format indique l'utilisation de JSON ou de YAML.
Exemple : configuration de région manquante
aws: [ERROR]: An error occurred (NoRegion): You must specify a region. You can also configure your region by running "aws configure".
Exemple : compartiment S3 inexistant avec des champs supplémentaires
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
Exemple : champs d'erreur complexes
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.
Format JSON
Le format JSON fournit une représentation structurée avec tous les champs d'erreur.
Exemple : configuration de région manquante
{ "Code": "NoRegion", "Message": "You must specify a region. You can also configure your region by running \"aws configure\"." }
Exemple : compartiment S3 inexistant
{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }
Format YAML
Le format YAML fournit une représentation structurée avec tous les champs d'erreur.
Exemple : configuration de région manquante
Code: NoRegion Message: You must specify a region. You can also configure your region by running "aws configure".
Exemple : compartiment S3 inexistant
Code: NoSuchBucket Message: The specified bucket does not exist BucketName: amzn-s3-demo-bucket
Format texte
Le format de texte utilise le même formateur que la sortie de commande réussie.
Exemple : compartiment S3 inexistant
amzn-s3-demo-bucket NoSuchBucket The specified bucket does not exist
Format de tableau
Le format de table utilise le même formateur que la sortie de commande réussie.
Exemple : compartiment S3 inexistant
-------------------------------------------------------------------------------------| | error | +---------------------------+---------------+----------------------------------------+ | BucketName | Code | Message | +---------------------------+---------------+----------------------------------------+ | amzn-s3-demo-bucket | NoSuchBucket | The specified bucket does not exist | +---------------------------+---------------+----------------------------------------+
Ancien format
L'ancien format fournit le format d'erreur d'origine sans détails structurés. Ce format n'inclut pas le préfixe « Une erreur s'est produite (ErrorCode) : » pour les exceptions de la CLI.
Exemple : configuration de région manquante
aws: [ERROR]: You must specify a region. You can also configure your region by running "aws configure".
Exemple : compartiment S3 inexistant
An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist
Note
Les erreurs incluent désormais systématiquement le aws: [ERROR]: préfixe des exceptions de la CLI. Les versions antérieures n'incluaient pas toujours ce préfixe.
Les exceptions suivantes utilisent toujours l'ancien format, quel que soit le format d'erreur configuré :
-
UnknownArgumentError— Affiche les informations d'utilisation -
Interruptions du clavier ()
KeyboardInterrupt
Exemple complet
L'exemple suivant montre une commande avec un formatage d'erreur JSON :
$aws s3api get-object \ --bucket amzn-s3-demo-bucket \ --key file.txt out.txt \ --cli-error-format json
Sortie (stderr) :
{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }
Le BucketName champ est un membre d'erreur modélisé renvoyé par le service Amazon S3.