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 masukan untuk menghasilkan beberapa catatan dengan satu catatan untuk setiap elemen dalam daftar. Berdasarkan jumlah item yang terkandung dalam bidang, perintah ini membuang catatan saat ini dan menghasilkan catatan baru. Setiap catatan mencakupunnested_field, yang mewakili item. Semua bidang lainnya berasal dari catatan asli.

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

Struktur perintah

Contoh berikut menjelaskan format perintah ini.

unnest field into unnested_field
Kueri contoh

Contoh berikut mem-parsing 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 yang lain dengan event.name sebagai tindakan 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