Output kesalahan terstruktur di AWS CLI - AWS Command Line Interface

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Output kesalahan terstruktur di AWS CLI

Topik ini menjelaskan format keluaran kesalahan terstruktur untuk AWS Command Line Interface (AWS CLI). CLI menulis kesalahan ke stderr dan mendukung format berikut:

  • enhanced(default) - Pesan kesalahan dengan detail tambahan ditampilkan sebaris. Gunakan untuk debugging yang dapat dibaca manusia.

  • json- Output diformat sebagai string JSON dengan semua bidang kesalahan. Gunakan untuk otomatisasi dan scripting.

  • yaml- Output diformat sebagai string YAMAL dengan semua bidang kesalahan. Gunakan untuk otomatisasi dan scripting.

  • text— Kesalahan format menggunakan pemformat teks. Gunakan untuk pemindaian visual cepat.

  • table— Kesalahan format menggunakan pemformat tabel. Gunakan untuk pemindaian visual cepat.

  • legacy— Format kesalahan asli tanpa detail terstruktur. Gunakan untuk kompatibilitas mundur.

Mengkonfigurasi format kesalahan

Anda dapat mengonfigurasi format kesalahan menggunakan salah satu metode berikut:

Bendera baris perintah
$ aws <command> --cli-error-format json
File konfigurasi (~/.aws/config)
[default] cli_error_format = json
Variabel lingkungan
$ export AWS_CLI_ERROR_FORMAT=yaml

Format keluaran kesalahan

Bagian berikut menjelaskan setiap format:

Format yang disempurnakan (default)

Format yang disempurnakan menampilkan pesan kesalahan dengan detail tambahan sebaris untuk nilai sederhana. Untuk struktur yang kompleks, format memberikan petunjuk untuk menggunakan JSON atau YAMAL.

Contoh: Konfigurasi wilayah tidak ada

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

Contoh: Bucket S3 yang tidak ada dengan bidang tambahan

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

Contoh: Bidang kesalahan kompleks

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

Format JSON menyediakan representasi terstruktur dengan semua bidang kesalahan.

Contoh: Konfigurasi wilayah tidak ada

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

Contoh: Bucket S3 yang tidak ada

{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }

Format YAML

Format YAMAL menyediakan representasi terstruktur dengan semua bidang kesalahan.

Contoh: Konfigurasi wilayah tidak ada

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

Contoh: Bucket S3 yang tidak ada

Code: NoSuchBucket Message: The specified bucket does not exist BucketName: amzn-s3-demo-bucket

Format teks

Format teks menggunakan formatter yang sama dengan output perintah yang berhasil.

Contoh: Bucket S3 yang tidak ada

amzn-s3-demo-bucket NoSuchBucket The specified bucket does not exist

Format tabel

Format tabel menggunakan formatter yang sama dengan output perintah yang berhasil.

Contoh: Bucket S3 yang tidak ada

-------------------------------------------------------------------------------------| | error | +---------------------------+---------------+----------------------------------------+ | BucketName | Code | Message | +---------------------------+---------------+----------------------------------------+ | amzn-s3-demo-bucket | NoSuchBucket | The specified bucket does not exist | +---------------------------+---------------+----------------------------------------+

Format warisan

Format lama menyediakan format kesalahan asli tanpa detail terstruktur. Format ini tidak menyertakan awalan “Kesalahan terjadi (ErrorCode):” untuk pengecualian CLI.

Contoh: Konfigurasi wilayah tidak ada

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

Contoh: Bucket S3 yang tidak ada

An error occurred (NoSuchBucket) when calling the GetObject operation: The specified bucket does not exist
catatan

Kesalahan sekarang secara konsisten menyertakan aws: [ERROR]: awalan untuk pengecualian CLI. Versi sebelumnya tidak selalu menyertakan awalan ini.

Pengecualian berikut selalu menggunakan format lama terlepas dari format kesalahan yang dikonfigurasi:

  • UnknownArgumentError— Menampilkan informasi penggunaan

  • Keyboard menyela () KeyboardInterrupt

Contoh lengkap

Contoh berikut menunjukkan perintah dengan format kesalahan JSON:

$ aws s3api get-object \ --bucket amzn-s3-demo-bucket \ --key file.txt out.txt \ --cli-error-format json

Keluaran (stderr):

{ "Code": "NoSuchBucket", "Message": "The specified bucket does not exist", "BucketName": "amzn-s3-demo-bucket" }

BucketNameBidang ini adalah anggota kesalahan model yang dikembalikan oleh layanan Amazon S3.