如何在CloudWatch Logs Insights中提取请求ID与JSON内的OrderID?
解决CloudWatch Logs Insights提取JSON中OrderID的问题
你需要先把解析出来的JsonBody字符串转换成JSON对象,才能访问里面的OrderID字段,修改后的查询语句如下:
| parse @message "(*) Method request body before transformations: *" as awsReqId, JsonBody | parse_json JsonBody | display awsReqId, JsonBody.OrderID | limit 20
如果需要按特定OrderID过滤,可以加上过滤条件:
| parse @message "(*) Method request body before transformations: *" as awsReqId, JsonBody | parse_json JsonBody | filter JsonBody.OrderID = "1545623982" | display awsReqId, JsonBody.OrderID | limit 20
说明
你之前的查询失败是因为parse出来的JsonBody是纯字符串,CloudWatch Logs Insights无法直接识别其中的JSON结构。使用parse_json函数后,字符串会被转换成可遍历的JSON对象,这时就能通过.语法直接提取OrderID字段了。
内容的提问来源于stack exchange,提问作者ICICI81
相关产品推荐
相关产品推荐

