View a markdown version of this page

unnest - CloudWatch Log Amazon

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

unnest

Gunakan unnest untuk meratakan daftar yang diambil sebagai input untuk menghasilkan beberapa catatan dengan satu catatan untuk setiap elemen dalam daftar. Berdasarkan jumlah item yang berisi bidang, perintah ini membuang catatan saat ini dan menghasilkan catatan baru. Setiap catatan termasukunnested_field, yang mewakili item. Semua bidang lainnya berasal dari catatan asli.

Masukan untuk unnest adalahLIST, yang berasal dari jsonParse fungsi. Untuk informasi selengkapnya, lihat Jenis struktur. Jenis lain, sepertiMAP, String dannumbers, diperlakukan sebagai daftar dengan satu item di dalamnyaunnest.

Struktur perintah

Contoh berikut menjelaskan format perintah ini.

unnest field into unnested_field
Kueri contoh

Contoh berikut mengurai string objek JSON dan memperluas daftar peristiwa bidang.

fields jsonParse(@message) as json_message | unnest json_message.events into event | display event.name

Peristiwa log untuk kueri contoh ini bisa berupa string JSON sebagai berikut:

{ "events": [ { "name": "exception" }, { "name": "user action" } ] }

Dalam hal ini, kueri sampel menghasilkan dua catatan dalam hasil kueri, satu dengan event.name as exception dan lainnya dengan tindakan event.name sebagai pengguna

Kueri contoh

Contoh berikut meratakan daftar dan kemudian menyaring item.

fields jsonParse(@message) as js | unnest js.accounts into account | filter account.type = "internal"
Kueri contoh

Contoh berikut meratakan daftar untuk agregasi.

fields jsonParse(trimmedData) as accounts | unnest accounts into account | stats sum(account.droppedSpans) as n by account.accountId | sort n desc | limit 10