View a markdown version of this page

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

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

  • 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: Fungsi Lambda yang tidak ada dengan bidang tambahan

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

Bagian “Detail kesalahan tambahan” hanya menampilkan bidang yang ditentukan dalam model bentuk kesalahan layanan. Bidang yang tidak dimodelkan dari respons kesalahan tidak ditampilkan.

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: Fungsi Lambda Tidak Ada

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

Format YAMAL

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: Fungsi Lambda Tidak Ada

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

Format teks

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

Contoh: Fungsi Lambda Tidak Ada

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

Format tabel

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

Contoh: Fungsi Lambda Tidak Ada

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

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: Fungsi Lambda Tidak Ada

An error occurred (ResourceNotFoundException) when calling the GetFunction operation: Function not found: arn:aws:lambda:us-west-2:123456789012:function:nonexistent-function-12345
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 lambda get-function \ --function-name nonexistent-function-12345 \ --cli-error-format json

Keluaran (stderr):

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

TypeBidang adalah anggota kesalahan model yang ditentukan dalam bentuk kesalahan layanan Lambda. Hanya bidang yang ditentukan dalam model kesalahan layanan yang disertakan dalam keluaran kesalahan terstruktur.