我将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个条目具有以下内容,则匹配整行 “结果”字段的“失败”值。在这种特殊情况下,第0个条目有结果 '成功',所以它不匹配。但下一行将匹配:
{$ .test_results [1] .result =“失败”}
现在假设我想匹配整行,如果任何条目的值为'failure'。 基本上,我想这样做:
{$ .test_results [*]。result =“failure”}
但是模式语法似乎不允许在数组索引中使用通配符。 如何匹配任何结果值为“失败”的行?
或者,我如何挑选“test_results”数组中所有“nr_failed”字段的数值并从中创建指标?