

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

# Prosesor transformasi
<a name="transformation-processors"></a>

Prosesor transformasi memodifikasi struktur peristiwa log dengan menambahkan, menyalin, memindahkan, atau menghapus bidang.

## prosesor add\_entries
<a name="add-entries-processor"></a>

Menambahkan pasangan kunci-nilai statis untuk mencatat peristiwa. Paling banyak 1 `add_entries` prosesor dapat ditambahkan ke pipa.

**Konfigurasi**  
Konfigurasikan prosesor add\_entries dengan parameter berikut:

```
processor:
  - add_entries:
      entries:
        - key: "environment"
          value: "production"
          overwrite_if_key_exists: false
```Parameter

`entries`(Diperlukan)  
Array pasangan kunci-nilai untuk ditambahkan ke setiap peristiwa log.

`entries[].key`(Diperlukan)  
Nama bidang untuk ditambahkan ke peristiwa log. Mendukung bidang bersarang menggunakan notasi titik.

`entries[].value`(Diperlukan)  
Nilai statis untuk menetapkan ke kunci.

`entries[].overwrite_if_key_exists` (opsional)  
Bendera Boolean yang menentukan perilaku ketika kunci sudah ada. Default ke false.

`when` (opsional)  
Processor-level ekspresi bersyarat. Ketika ditentukan, seluruh prosesor dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

`entries[].when` (opsional)  
Entry-level ekspresi bersyarat. Ketika ditentukan, hanya entri ini yang dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

`entries[].when_else` (opsional)  
Entri fallback yang dijalankan hanya ketika tidak ada `when` kondisi lain dalam prosesor yang sama yang cocok. Nilai ekspresi mengidentifikasi `when` kondisi mana yang harus dipertimbangkan. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

## prosesor copy\_values
<a name="copy-values-processor"></a>

Menyalin nilai dari satu bidang ke bidang lainnya. Paling banyak 1 `copy_values` prosesor dapat ditambahkan ke pipa.

**Konfigurasi**  
Konfigurasikan prosesor copy\_values dengan parameter berikut:

```
processor:
  - copy_values:
      entries:
        - from_key: "user_id"
          to_key: "backup_user"
          overwrite_if_to_key_exists: false
```Parameter

`entries`(Diperlukan)  
Array operasi salinan untuk dilakukan pada setiap peristiwa log.

`entries[].from_key`(Diperlukan)  
Nama bidang untuk menyalin nilai dari. Menggunakan notasi titik untuk bidang bersarang.

`entries[].to_key`(Diperlukan)  
Nama bidang untuk menyalin nilai ke. Akan membuat struktur bersarang jika menggunakan notasi titik.

`entries[].overwrite_if_to_key_exists` (opsional)  
Perilaku pengendali bendera Boolean saat bidang target sudah ada. Default ke false.

`when` (opsional)  
Processor-level ekspresi bersyarat. Ketika ditentukan, seluruh prosesor dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

`entries[].when` (opsional)  
Entry-level ekspresi bersyarat. Ketika ditentukan, hanya entri ini yang dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

`entries[].when_else` (opsional)  
Entri fallback yang dijalankan hanya ketika tidak ada `when` kondisi lain dalam prosesor yang sama yang cocok. Nilai ekspresi mengidentifikasi `when` kondisi mana yang harus dipertimbangkan. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

## prosesor delete\_entries
<a name="delete-entries-processor"></a>

Menghapus bidang tertentu dari peristiwa log.

**Konfigurasi**  
Konfigurasikan prosesor delete\_entries dengan parameter berikut:

```
processor:
  - delete_entries:
      with_keys: ["temp_field", "debug_info"]
```Parameter

`with_keys`(Diperlukan)  
Array nama bidang untuk dihapus dari setiap peristiwa log. Mendukung penghapusan bidang bersarang menggunakan notasi titik.

`when` (opsional)  
Ekspresi bersyarat yang menentukan apakah prosesor ini mengeksekusi. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

## prosesor move\_keys
<a name="move-keys-processor"></a>

Memindahkan bidang dari satu lokasi ke lokasi lain.

**Konfigurasi**  
Konfigurasikan prosesor move\_keys dengan parameter berikut:

```
processor:
  - move_keys:
      entries:
        - from_key: "old_field"
          to_key: "new_field"
          overwrite_if_to_key_exists: true
```Parameter

`entries`(Diperlukan)  
Array operasi pemindahan. Maksimal 5 entri.

`entries[].from_key`(Diperlukan)  
Nama bidang sumber. Maksimal 128 karakter.

`entries[].to_key`(Diperlukan)  
Nama bidang target. Maksimal 128 karakter.

`entries[].overwrite_if_to_key_exists` (opsional)  
Apakah akan menimpa bidang target yang ada.

`when` (opsional)  
Processor-level ekspresi bersyarat. Ketika ditentukan, seluruh prosesor dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

`entries[].when` (opsional)  
Entry-level ekspresi bersyarat. Ketika ditentukan, hanya entri ini yang dilewati jika ekspresi dievaluasi menjadi false. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

`entries[].when_else` (opsional)  
Entri fallback yang dijalankan hanya ketika tidak ada `when` kondisi lain dalam prosesor yang sama yang cocok. Nilai ekspresi mengidentifikasi `when` kondisi mana yang harus dipertimbangkan. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

## prosesor ratakan
<a name="flatten-processor"></a>

Meratakan struktur objek bersarang.

**Konfigurasi**  
Konfigurasikan prosesor ratakan dengan parameter berikut:

```
processor:
  - flatten:
      source: "metadata"
      target: "flattened"
      remove_processed_fields: true
      exclude_keys: ["sensitive_data"]
```Parameter

`source`(Diperlukan)  
Bidang berisi objek bersarang untuk diratakan.

`target`(Diperlukan)  
Awalan bidang target untuk kunci yang diratakan.

`remove_processed_fields` (opsional)  
Apakah akan menghapus bidang bersarang asli setelah diratakan.

`exclude_keys` (opsional)  
Array kunci untuk dikecualikan dari perataan. Maksimal 20 tombol, masing-masing hingga 128 karakter.

`when` (opsional)  
Ekspresi bersyarat yang menentukan apakah prosesor ini mengeksekusi. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

## prosesor pencarian
<a name="lookup-processor"></a>

Memperkaya peristiwa log dengan data dari tabel pencarian CloudWatch Log. Prosesor mencocokkan bidang dalam peristiwa log Anda dengan bidang di tabel pencarian dan menambahkan bidang tertentu ke peristiwa log Anda. Gunakan prosesor ini untuk skenario pengayaan data seperti memetakan ID pengguna ke detail pengguna, kode produk ke informasi produk, atau kode kesalahan untuk deskripsi kesalahan. Paling banyak 1 `lookup` prosesor dapat ditambahkan ke pipa.

**catatan**  
Jika tabel pencarian digunakan dalam pipeline, Anda harus memberikan peran eksekusi dengan `logs:GetLookupTable` izin di atas tabel. Untuk informasi selengkapnya, lihat [CloudWatch jalur pipa kebijakan dan izin IAM](pipeline-iam-reference.md).

**Konfigurasi**  
Konfigurasikan prosesor pencarian dengan parameter berikut:

```
processor:
  - lookup:
      lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:my_lookup_table"
      match_keys:
        - log_key: "src_ip"
          lookup_key: "ip_address"
      entries:
        - source: "hostname"
          target: "src_hostname"
          overwrite_if_exists: true
```Parameter

`lookup_table`(Diperlukan)  
ARN dari tabel pencarian CloudWatch Log untuk digunakan untuk pengayaan. Panjang maksimum adalah 2048 karakter.

`match_keys`(Diperlukan)  
Array pasangan kunci yang menentukan cara mencocokkan bidang peristiwa log untuk mencari bidang tabel. Minimal 1, maksimum 5 tombol kecocokan. Ketika beberapa tombol kecocokan ditentukan, baris tabel pencarian harus cocok dengan semua kunci untuk menghasilkan hasil (DAN logika).

`match_keys[].log_key`(Diperlukan)  
Nama bidang dalam peristiwa log untuk dicocokkan. Maksimal 128 karakter.

`match_keys[].lookup_key`(Diperlukan)  
Nama kolom dalam tabel pencarian untuk mencocokkan. Maksimal 128 karakter.

`entries`(Diperlukan)  
Array bidang untuk ditambahkan ke peristiwa log dari baris tabel pencarian yang cocok. Minimal 1, maksimal 10 entri.

`entries[].source`(Diperlukan)  
Nama kolom dalam tabel pencarian untuk mengambil nilai dari. Maksimal 128 karakter.

`entries[].target` (opsional)  
Nama bidang untuk ditambahkan ke peristiwa log. Jika tidak ditentukan, nama `source` kolom digunakan sebagai nama bidang. Maksimal 128 karakter.

`entries[].overwrite_if_exists` (opsional)  
Bendera Boolean yang menentukan perilaku saat bidang target sudah ada dalam peristiwa log. Default ke false.

`when` (opsional)  
Ekspresi bersyarat yang menentukan apakah prosesor ini mengeksekusi. Panjang maksimum adalah 256 karakter. Lihat [Sintaks ekspresi untuk pemrosesan bersyarat](conditional-processing.md).

**Contoh**  
Pertimbangkan tabel pencarian bernama `network_assets` dengan baris berikut:


**tabel pencarian network\_assets**  

| ip\_alamat | hostname | owner | lokasi | 
| --- | --- | --- | --- | 
| 10.0.1.12 | web-server-01 | tim-alfa | us-east-1 | 
| 10.0.2.45 | db-server-03 | tim-beta | us-west-2 | 
| 10.0.3.78 | cache-node-07 | tim-alfa | eu-west-1 | 

Mengingat peristiwa log berikut:

```
{
  "timestamp": "2026-05-04T12:00:00Z",
  "src_ip": "10.0.2.45",
  "action": "connection_opened",
  "bytes": 2048
}
```

Dan konfigurasi prosesor berikut:

```
processor:
  - lookup:
      lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:network_assets"
      match_keys:
        - log_key: "src_ip"
          lookup_key: "ip_address"
      entries:
        - source: "hostname"
          target: "src_hostname"
        - source: "owner"
        - source: "location"
          target: "src_region"
          overwrite_if_exists: false
```

Prosesor menghasilkan peristiwa log yang diperkaya berikut:

```
{
  "timestamp": "2026-05-04T12:00:00Z",
  "src_ip": "10.0.2.45",
  "action": "connection_opened",
  "bytes": 2048,
  "src_hostname": "db-server-03",
  "owner": "team-beta",
  "src_region": "us-west-2"
}
```

**Izin IAM**  
Ketika pipeline menggunakan prosesor pencarian, peran eksekusi pipeline harus menyertakan `logs:GetLookupTable` izin untuk tabel yang direferensikan. Contoh pernyataan kebijakan berikut memberikan izin ini:

```
{
  "Effect": "Allow",
  "Action": "logs:GetLookupTable",
  "Resource": "arn:aws:logs:<region>:<account-id>:lookup-table:<table-name>"
}
```