我将JSON字符串上传到AWS Cloudwatch日志,现在我正在尝试编写一个过滤器,从这些日志生成指标.
假设我有以下JSON:
{"test_results":[{"result":"success","name":"foo","nr_failed":0},{"result":"failure","name":"bar","nr_failed" :3}]}
AWS Cloudwatch日志指标过滤器允许我指定如下模式:
{$ .test_results [0] .result ="失败"}
上述方法是"如果'test_results'值中的第0个条目的'result'字段的值为'failure',则匹配整行".在这种特殊情况下,第0个条目的结果为"成功",因此不匹配.但下一行将匹配:
{$ .test_results [1] .result ="失败"}
现在假设我想匹配整行,如果任何条目的值为'failure'.基本上,我想这样做:
{$ .test_results [*].result ="failure"}
但模式语法似乎不允许数组索引中的通配符.如何匹配任何结果值为"失败"的行?
或者,我如何选择"test_results"数组中所有"nr_failed"字段的数值并从中创建指标?