You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible如何用json_query从数组中过滤不含指定标签的displayName

错误原因
  • 类型不匹配:你原查询中直接将进程组对象传入contains()函数,该函数仅支持字符串/数组类型输入,因此触发received: "object"类型错误。
  • 逻辑错误:你需要检查的是进程组tags数组下的标签key字段是否包含指定字符串,而非直接检查进程组对象的根级键名。
修复后代码
- debug:
    msg: "{{ data_tags_prd.json | json_query(query) }}"
  vars:
    query: "[?!tags[?contains(key, 'Support Team')]].displayName"

逻辑说明

  • tags[?contains(key, 'Support Team')]:筛选当前进程组tags数组中,key字段包含Support Team的所有标签
  • 前缀!:对上述筛选结果取反,匹配没有符合条件标签的进程组
  • 末尾.displayName:提取符合条件的进程组的displayName字段值,和你预期的输出结果一致。
依赖注意

如果执行仍报错,确认执行Ansible的节点已安装jmespath依赖:

  • 系统包安装:apt install python3-jmespath / yum install python3-jmespath
  • pip安装:pip install jmespath

内容的提问来源于stack exchange,提问作者Kevin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:15:03