unnest - Amazon CloudWatch Logs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

unnest

unnestÀ utiliser pour aplatir une liste prise en entrée afin de produire plusieurs enregistrements avec un seul enregistrement pour chaque élément de la liste. En fonction du nombre d'éléments contenus dans un champ, cette commande supprime l'enregistrement actuel et génère de nouveaux enregistrements. Chaque enregistrement inclut leunnested_field, qui représente un élément. Tous les autres champs proviennent de l'enregistrement d'origine.

L'entrée pour unnest LIST is provient de la jsonParse fonction. Pour plus d'informations, consultez la section Types de structures. Tous les autres types, tels que MAPnumbers, String et, sont traités comme une liste contenant un élémentunnest.

Structure de commande

L'exemple suivant décrit le format de cette commande.

unnest field into unnested_field
Exemple de requête

L'exemple suivant analyse une chaîne d'objet JSON et développe une liste d'événements de champ.

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

L'événement de journal pour cet exemple de requête peut être une chaîne JSON comme suit :

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

Dans ce cas, l'exemple de requête produit deux enregistrements dans le résultat de la requête, l'un avec « event.name as » exception et l'autre avec « event.name as user action ».

Exemple de requête

L'exemple suivant aplatit une liste, puis filtre les éléments.

fields jsonParse(@message) as js | unnest js.accounts into account | filter account.type = "internal"
Exemple de requête

L'exemple suivant aplatit une liste à des fins d'agrégation.

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