【问题标题】:AWS Cloudwatch Logs Insights: Query into arrayAWS Cloudwatch Logs Insights:查询到数组
【发布时间】:2021-12-01 20:33:17
【问题描述】:

我有一个包含此类消息的日志组。

{
  "m": [
    {
      "id": "5b6973c7c86e8689368b4569",
      "ts": 1634112000.062
    },
        {
      "id": "6116d21e02e38f5045079c42",
      "ts": 1634120807.402
    },
    {
      "id": "60c368ff1085fc0d546fad52",
      "ts": 1634120807.512
    },
    {
      "id": "6053536817a46610797ed472",
      "ts": 1634120809.249
    }
  ]
}

我想对字段 m.*.ts(它是一个数组)运行一个查询。像这样的……

fields @message
| filter (m.*.ts > 1634112000.062 and m.*.ts < 1634120807.000 )

有可能吗?

【问题讨论】:

    标签: amazon-cloudwatch aws-cloudwatch-log-insights


    【解决方案1】:
    fields @message
      | parse @message "[*] *" as id, ts
      | filter (ts > 1634112000.062 and ts <  1634120807.000)
    

    【讨论】:

    • 能否请您为您的答案添加一些解释。
    【解决方案2】:

    嗨,我不知道你想要什么格式,所以试试这个,你可以适应它,更多samples here on AWS

    选项 1:帮助您分步调试

    fields @message
      |"[*] *" as id, ts
      | filter ts > 1634112000.062 
      | filter ts < 1634120807.000
    

    选项 2:

    fields @message
      | parse @message '[] * {"*"}' as id, ts
      | filter (ts > 1634112000.062 and ts <  1634120807.000)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 2021-07-04
      • 2020-11-20
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 2021-04-09
      相关资源
      最近更新 更多