unnest - Amazon CloudWatch Logs

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

unnest

Se utiliza unnest para aplanar una lista utilizada como entrada para generar varios registros con un único registro para cada elemento de la lista. En función del número de elementos que contenga un campo, este comando descarta el registro actual y genera nuevos registros. Cada registro incluye elunnested_field, que representa un elemento. Todos los demás campos provienen del registro original.

La entrada para unnest esLIST, que proviene de la jsonParse función. Para obtener más información, consulte Tipos de estructura. Los demás tipos, comoMAP, String ynumbers, se tratan como una lista con un elementounnest.

Estructura de comandos

En el siguiente ejemplo se obtiene la descripción del formato de este comando.

unnest field into unnested_field
Consulta de ejemplo

En el siguiente ejemplo, se analiza una cadena de objeto JSON y se amplía una lista de eventos de campo.

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

El evento de registro de esta consulta de ejemplo podría ser una cadena JSON de la siguiente manera:

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

En este caso, la consulta de ejemplo genera dos registros en el resultado de la consulta, uno con una acción del usuario event.name como exception y otro con event.name una acción del usuario

Consulta de ejemplo

En el siguiente ejemplo, se aplana una lista y, a continuación, se filtran los elementos.

fields jsonParse(@message) as js | unnest js.accounts into account | filter account.type = "internal"
Consulta de ejemplo

En el siguiente ejemplo, se aplana una lista para su agregación.

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