unnest - Amazon CloudWatch 日志
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

unnest

unnest用于扁平化作为输入的列表,以生成多条记录,列表中的每个元素都有一条记录。根据字段包含的项目数,此命令会丢弃当前记录并生成新记录。每条记录都包含unnested_field,它代表一个项目。所有其他字段均来自原始记录。

的输入unnestLIST,它来自jsonParse函数。有关更多信息,请参阅结构类型。任何其他类型(例如MAPnumbersString和)都被视为包含一个项目的列表unnest

命令结构

以下示例描述了此命令的格式。

unnest field into unnested_field
示例查询

以下示例解析 JSON 对象字符串并展开字段事件列表。

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

此示例查询的日志事件可以是 JSON 字符串,如下所示:

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

在这种情况下,示例查询会在查询结果中生成两条记录,一条带有 as,另一条带有 a event.name event.name s exception user action

示例查询

以下示例将列表展平,然后筛选出项目。

fields jsonParse(@message) as js | unnest js.accounts into account | filter account.type = "internal"
示例查询

以下示例对列表进行扁平化以进行聚合。

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