使用jq从consul API检索给定节点的服务标签



我正在尝试从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"

最新更新