我正在尝试从consul API检索给定节点的ServiceTag。我需要通过jq过滤。
以下是Node&服务标签,但我想要给定节点的ServiceTag。。
带有服务标签-https://jqplay.org/s/iaSIPnkxFm
带节点-https://jqplay.org/s/ea-LyKhhpy
有人能帮我用jq查询将两者结合起来,为上面的例子中的节点"my-app-1-2-3-4"提供服务标签"my-app标签"吗。
不幸的是,给定的数据、给定的问题描述和给定的答案并不完全一致,可能是因为拼写错误。
然而,问题描述对应于以下形式的查询:
[]。选中[]|选择(.Node==$Node)|。ServiceTags[]
例如,对于您的数据,并让$NODE具有值"my-ap-1-2-3-4",jq查询:
.[].Checks[] | select(.Node == "my-ap-1-2-3-4") | .ServiceTags[]
收益率:
"my-app-tag"