使用 jq 从 consul API 检索给定节点的服务标签
Retrieve service tags for a given node from consul API with jq
我正在尝试从 consul API 检索给定节点的 ServiceTag。我需要通过jq过滤。
这是节点和服务标签的 jq 播放查询,但我想要给定节点的服务标签..
有服务标签 - https://jqplay.org/s/iaSIPnkxFm
有节点 - https://jqplay.org/s/ea-LyKhhpy
任何人都可以帮助我进行 jq 查询,将两者结合起来,为上例中的节点 "my-app-1-2-3-4" 提供服务标签 "my-app-tag"。
很遗憾,给定的数据、给定的问题描述和给定的答案彼此不太一致,可能是因为打字错误。
但是,问题描述对应于以下形式的查询:
.[].支票[] | select(.Node == $NODE) | .ServiceTags[]
例如,对于您的数据,让 $NODE 的值为 "my-ap-1-2-3-4",jq 查询:
.[].Checks[] | select(.Node == "my-ap-1-2-3-4") | .ServiceTags[]
产量:
"my-app-tag"
我正在尝试从 consul API 检索给定节点的 ServiceTag。我需要通过jq过滤。
这是节点和服务标签的 jq 播放查询,但我想要给定节点的服务标签..
有服务标签 - https://jqplay.org/s/iaSIPnkxFm
有节点 - https://jqplay.org/s/ea-LyKhhpy
任何人都可以帮助我进行 jq 查询,将两者结合起来,为上例中的节点 "my-app-1-2-3-4" 提供服务标签 "my-app-tag"。
很遗憾,给定的数据、给定的问题描述和给定的答案彼此不太一致,可能是因为打字错误。
但是,问题描述对应于以下形式的查询:
.[].支票[] | select(.Node == $NODE) | .ServiceTags[]
例如,对于您的数据,让 $NODE 的值为 "my-ap-1-2-3-4",jq 查询:
.[].Checks[] | select(.Node == "my-ap-1-2-3-4") | .ServiceTags[]
产量:
"my-app-tag"