【问题标题】:Retrieve service tags for a given node from consul API with jq使用 jq 从 consul API 检索给定节点的服务标签
【发布时间】:2017-10-15 04:19:19
【问题描述】:

我正在尝试从 consul API 检索给定节点的 ServiceTag。我需要通过jq过滤。

这是节点和服务标签的 jq play 查询,但我想要给定节点的服务标签..

带有服务标签 - https://jqplay.org/s/iaSIPnkxFm

带节点 - https://jqplay.org/s/ea-LyKhhpy

谁能帮我用 jq 查询将两者结合起来,为上面示例中的节点“my-app-1-2-3-4”提供服务标签“my-app-tag”。

【问题讨论】:

    标签: select jq consul


    【解决方案1】:

    不幸的是,给定的数据、给定的问题描述和给定的答案彼此并不完全一致,可能是因为拼写错误。

    但是,问题描述对应的查询形式如下:

    .[].Checks[] |选择(.Node == $NODE)| .ServiceTags[]

    例如,对于您的数据,并让 $NODE 具有值“my-ap-1-2-3-4”,jq 查询:

    .[].Checks[] | select(.Node == "my-ap-1-2-3-4") | .ServiceTags[]
    

    产量:

    "my-app-tag"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多