

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
<a name="cli-usage-error-format"></a>

Topik ini menjelaskan format keluaran kesalahan terstruktur untuk AWS Command Line Interface (AWS CLI). CLI menulis kesalahan ke stderr dan mendukung format berikut:
+ **[`enhanced`](#cli-error-format-enhanced)**(default) - Pesan kesalahan dengan detail tambahan ditampilkan sebaris. Gunakan untuk debugging yang dapat dibaca manusia.
+ **[`json`](#cli-error-format-json)**- Output diformat sebagai string [JSON](https://json.org/) dengan semua bidang kesalahan. Gunakan untuk otomatisasi dan skrip.
+ **[`yaml`](#cli-error-format-yaml)**- Output diformat sebagai string [YAMAL dengan](https://yaml.org/) semua bidang kesalahan. Gunakan untuk otomatisasi dan skrip.
+ **[`text`](#cli-error-format-text)**— Kesalahan format menggunakan pemformat teks. Gunakan untuk pemindaian visual cepat.
+ **[`table`](#cli-error-format-table)**— Kesalahan format menggunakan pemformat tabel. Gunakan untuk pemindaian visual cepat.
+ **[`legacy`](#cli-error-format-legacy)**— Format kesalahan asli tanpa detail terstruktur. Gunakan untuk kompatibilitas mundur.

## Mengkonfigurasi format kesalahan
<a name="cli-error-format-configuring"></a>

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
<a name="cli-error-output-formats"></a>

Bagian berikut menjelaskan setiap format:

### Format yang disempurnakan (default)
<a name="cli-error-format-enhanced"></a>

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
<a name="cli-error-format-json"></a>

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
<a name="cli-error-format-yaml"></a>

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
<a name="cli-error-format-text"></a>

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
<a name="cli-error-format-table"></a>

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
<a name="cli-error-format-legacy"></a>

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
<a name="cli-error-format-example"></a>

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

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