Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
JSON bermutasi prosesor
Bagian ini berisi informasi tentang prosesor mutasi JSON yang dapat Anda gunakan dengan transformator peristiwa log.
AddKeys
Gunakan addKeys prosesor untuk menambahkan pasangan kunci-nilai baru ke peristiwa log.
| Bidang | Deskripsi | Diperlukan? | Default | Batas |
|---|---|---|---|---|
|
entri |
Array entri. Setiap item dalam array dapat berisikey,value, dan overwriteIfExists bidang. |
Ya |
Entri maksimal: 5 |
|
|
kunci |
Kunci entri baru yang akan ditambahkan |
Ya |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
|
nilai |
Nilai entri baru yang akan ditambahkan |
Ya |
Panjang maksimal: 256 |
|
|
overwriteIfExists |
Jika Anda menyetel ini ketrue, nilai yang ada akan ditimpa jika key sudah ada dalam acara tersebut. Nilai default-nya adalah false. |
Tidak |
false |
Tidak ada batas |
Contoh
Ambil contoh peristiwa log berikut:
{ "outer_key": { "inner_key": "inner_value" } }
Konfigurasi transformator adalah ini, menggunakan addKeys denganparseJSON:
[ { "parseJSON": {} }, { "addKeys": { "entries": [ { "source": "outer_key.new_key", "value": "new_value" } ] } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "outer_key": { "inner_key": "inner_value", "new_key": "new_value" } }
DeleteKeys
Gunakan deleteKeys prosesor untuk menghapus bidang dari peristiwa log. Bidang ini dapat mencakup pasangan kunci-nilai.
| Bidang | Deskripsi | Diperlukan? | Default | Batas |
|---|---|---|---|---|
|
denganKeys |
Daftar kunci untuk dihapus. |
Ya |
Tidak ada batas |
Entri maksimal: 5 |
Contoh
Ambil contoh peristiwa log berikut:
{ "outer_key": { "inner_key": "inner_value" } }
Konfigurasi transformator adalah ini, menggunakan deleteKeys denganparseJSON:
[ { "parseJSON": {} }, { "deleteKeys": { "withKeys":["outer_key.inner_key"] } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "outer_key": {} }
MoveKeys
Gunakan moveKeys prosesor untuk memindahkan kunci dari satu bidang ke bidang lainnya.
| Bidang | Deskripsi | Diperlukan? | Default | Batas |
|---|---|---|---|---|
|
entri |
Array entri. Setiap item dalam array dapat berisisource,target, dan overwriteIfExists bidang. |
Ya |
Entri maksimal: 5 |
|
|
sumber |
Kunci untuk bergerak |
Ya |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
|
target |
Kunci untuk pindah ke |
Ya |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
|
overwriteIfExists |
Jika Anda menyetel ini ketrue, nilai yang ada akan ditimpa jika key sudah ada dalam acara tersebut. Nilai default-nya adalah false. |
Tidak |
false |
Tidak ada batas |
Contoh
Ambil contoh peristiwa log berikut:
{ "outer_key1": { "inner_key1": "inner_value1" }, "outer_key2": { "inner_key2": "inner_value2" } }
Konfigurasi transformator adalah ini, menggunakan moveKeys denganparseJSON:
[ { "parseJSON": {} }, { "moveKeys": { "entries": [ { "source": "outer_key1.inner_key1", "target": "outer_key2" } ] } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "outer_key1": {}, "outer_key2": { "inner_key2": "inner_value2", "inner_key1": "inner_value1" } }
RenameKeys
Gunakan renameKeys prosesor untuk mengganti nama kunci dalam peristiwa log.
| Bidang | Deskripsi | Diperlukan? | Default | Batas |
|---|---|---|---|---|
|
entri |
Array entri. Setiap item dalam array dapat berisikey,target, dan overwriteIfExists bidang. |
Ya |
Tidak ada batas |
Entri maksimal: 5 |
|
kunci |
Kunci untuk mengganti nama |
Ya |
Tidak ada batas |
Panjang maksimum: 128 |
|
target |
Nama kunci baru |
Ya |
Tidak ada batas |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
overwriteIfExists |
Jika Anda menyetel ini ketrue, nilai yang ada akan ditimpa jika key sudah ada dalam acara tersebut. Nilai default-nya adalah false. |
Tidak |
false |
Tidak ada batas |
Contoh
Ambil contoh peristiwa log berikut:
{ "outer_key": { "inner_key": "inner_value" } }
Konfigurasi transformator adalah ini, menggunakan renameKeys denganparseJSON:
[ { "parseJSON": {} }, { "renameKeys": { "entries": [ { "key": "outer_key", "target": "new_key" } ] } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "new_key": { "inner_key": "inner_value" } }
CopyValue
Gunakan copyValue prosesor untuk menyalin nilai dalam peristiwa log. Anda juga dapat menggunakan prosesor ini untuk menambahkan metadata ke log peristiwa, dengan menyalin nilai kunci metadata berikut ke dalam peristiwa log:,,,. @logGroupName @logGroupStream @accountId @regionName Ini diilustrasikan dalam contoh berikut.
| Bidang | Deskripsi | Diperlukan? | Default | Batas |
|---|---|---|---|---|
|
entri |
Array entri. Setiap item dalam array dapat berisisource,target, dan overwriteIfExists bidang. |
Ya |
Entri maksimal: 5 |
|
|
sumber |
Kunci untuk menyalin |
Ya |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
|
target |
Kunci untuk menyalin nilai ke |
Ya |
Tidak ada batas |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
overwriteIfExists |
Jika Anda menyetel ini ketrue, nilai yang ada akan ditimpa jika key sudah ada dalam acara tersebut. Nilai default-nya adalah false. |
Tidak |
false |
Tidak ada batas |
Contoh
Ambil contoh peristiwa log berikut:
{ "outer_key": { "inner_key": "inner_value" } }
Konfigurasi transformator adalah ini, menggunakan copyValue denganparseJSON:
[ { "parseJSON": {} }, { "copyValue": { "entries": [ { "source": "outer_key.new_key", "target": "new_key" }, { "source": "@logGroupName", "target": "log_group_name" }, { "source": "@logGroupStream", "target": "log_group_stream" }, { "source": "@accountId", "target": "account_id" }, { "source": "@regionName", "target": "region_name" } ] } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "outer_key": { "inner_key": "inner_value" }, "new_key": "inner_value", "log_group_name": "myLogGroupName", "log_group_stream": "myLogStreamName", "account_id": "012345678912", "region_name": "us-east-1" }
listToMap
listToMapProsesor mengambil daftar objek yang berisi bidang kunci, dan mengubahnya menjadi peta kunci target.
| Bidang | Deskripsi | Diperlukan? | Default | Batas |
|---|---|---|---|---|
|
sumber |
Kunci dalam ProcessingEvent dengan daftar objek yang akan dikonversi ke peta |
Ya |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
|
kunci |
Kunci bidang yang akan diekstraksi sebagai kunci di peta yang dihasilkan |
Ya |
Panjang maksimum: 128 |
|
|
ValueKey |
Jika ini ditentukan, nilai yang Anda tentukan dalam parameter ini akan diekstraksi dari source objek dan dimasukkan ke dalam nilai peta yang dihasilkan. Jika tidak, objek asli dalam daftar sumber akan dimasukkan ke dalam nilai peta yang dihasilkan. |
Tidak |
Panjang maksimum: 128 |
|
|
target |
Kunci bidang yang akan menampung peta yang dihasilkan |
Tidak |
Simpul akar |
Panjang maksimum: 128 Kedalaman kunci bersarang maksimum: 3 |
|
meratakan |
Nilai Boolean untuk menunjukkan apakah daftar akan diratakan menjadi item tunggal atau jika nilai dalam peta yang dihasilkan akan menjadi daftar. Secara default nilai-nilai untuk kunci yang cocok akan diwakili dalam array. Set |
Tidak |
false |
|
|
FlattenedElement |
Jika Anda mengatur flatten ketrue, gunakan flattenedElement untuk menentukan elemen mana, first ataulast, yang akan disimpan. |
Diperlukan saat |
Nilai hanya bisa first atau last |
Contoh
Ambil contoh peristiwa log berikut:
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ] }
Transformator untuk kasus penggunaan 1: flatten adalah false
[ { "parseJSON": {} }, { "listToMap": { "source": "outer_key" "key": "inner_key", "valueKey": "inner_value", "flatten": false } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ], "a": [ "val-a" ], "b": [ "val-b1", "val-b2" ], "c": [ "val-c" ] }
Transformator untuk kasus penggunaan 2: flatten adalah true dan flattenedElement adalah first
[ { "parseJSON": {} }, { "listToMap": { "source": "outer_key" "key": "inner_key", "valueKey": "inner_value", "flatten": true, "flattenedElement": "first" } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ], "a": "val-a", "b": "val-b1", "c": "val-c" }
Transformator untuk kasus penggunaan 3: flatten adalah true dan flattenedElement adalah last
[ { "parseJSON": {} }, { "listToMap": { "source": "outer_key" "key": "inner_key", "valueKey": "inner_value", "flatten": true, "flattenedElement": "last" } } ]
Peristiwa log yang diubah adalah sebagai berikut.
{ "outer_key": [ { "inner_key": "a", "inner_value": "val-a" }, { "inner_key": "b", "inner_value": "val-b1" }, { "inner_key": "b", "inner_value": "val-b2" }, { "inner_key": "c", "inner_value": "val-c" } ], "a": "val-a", "b": "val-b2", "c": "val-c" }