CloudWatch InSights:如何提取/查询 json 对象数组

CloudWatch InSights:如何提取/查询 json 对象数组

我们已将日志发布到 CloudWatch,如下所示(使用扁平化的 JSON 数据json.dumps()):

[
  {"Value": 9, "id": "ia-122"}, 
  {"Value": 13, "id": "ia-123"}, 
  {"Value": 14, "id": "ia-100"}
]

在上面的日志中,数组中有 3 个对象。当我使用如下查询表达式从 CloudWatch Insight 查询时:

field @message
| parse '"Value": *,' as value
| filter value > 12

由于第一个值是 9(不大于 12),因此不会返回上面提供的日志。

我该如何查询才能得到正确的结果?[注:单条日志的对象数不一定都是3个]

答案1

事实证明这样做很棘手。将我的日志修改为:

{"Value": 9, "id": "ia-122"}

{"Value": 13, "id": "ia-123"}

{"Value": 14, "id": "ia-100"} 

作为 3 条独立记录。

相关内容