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

如何从Ansible注册的复杂嵌套变量中提取指定字段

提取NetApp ONTAP REST信息中的指定字段

首先你得先确认results变量的具体结构,先执行下面的任务打印完整变量,方便核对字段路径:

- name: 查看results变量的完整结构
  debug:
    var: results

方法一:直接遍历+字典索引

如果你的results是包含4个元素的列表,每个元素里的目标字段路径明确,直接用loop遍历每个元素,通过字典索引提取字段:

- name: 提取并输出目标字段
  debug:
    msg: "SVM: {{ item.ansible_facts.netapp_info.svm.name }} | 导出策略: {{ item.ansible_facts.netapp_info.export_policy.name }} | 客户端IP: {{ item.ansible_facts.netapp_info.client.ip }}"
  loop: "{{ results }}"

注意:如果实际字段路径不同(比如export_policy在export_policies列表里),要调整索引,比如改成item.ansible_facts.netapp_info.export_policies[0].name,以你实际打印的结构为准。

方法二:用json_query批量结构化提取

如果想把所有提取的字段整理成一个结构化列表,方便后续使用,用json_query更高效:

- name: 批量提取字段为结构化列表
  set_fact:
    extracted_data: "{{ results | json_query('[].{svm_name: ansible_facts.netapp_info.svm.name, policy_name: ansible_facts.netapp_info.export_policy.name, client_ip: ansible_facts.netapp_info.client.ip}') }}"

- name: 打印结构化结果
  debug:
    var: extracted_data

执行后extracted_data会是一个包含4个字典的列表,每个字典对应一组svm_name、policy_name、client_ip。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:22:08