我想從Ansible的字典中刪除單個鍵。如何從Ansible字典中刪除單個密鑰?
例如,我想這樣的:
- debug: var=dict2
vars:
dict:
a: 1
b: 2
c: 3
dict2: "{{ dict | filter_to_remove_key('a') }}"
要打印此:
ok: [localhost] => {
"dict2": {
"b": 2,
"c": 3
}
}
請注意,該詞典是從JSON文件加載,我其發佈到Grafana REST API。我想允許在文件中保存一個'id'密鑰並在開機前刪除密鑰。
這是更接近實際使用我對去除:
- name: Install Dashboards
uri:
url: "{{ grafana_api_url }}/dashboards/db"
method: POST
headers:
Authorization: Bearer {{ grafana_api_token }}
body:
overwrite: true
dashboard:
"{{ lookup('file', item) | from_json | removekey('id') }}"
body_format: json with_fileglob:
- "dashboards/*.json"
- "../../../dashboards/*.json"
你爲什麼要創建一個新的字典?爲什麼不在打印時使用原始字典並跳過所需的鍵? – Shasha99
我想你只能使用默認過濾器將關鍵字設置爲null:'dict |結合({'a':無})',如果它適合你的需求。否則,您需要編寫自定義過濾器插件。 –
@ Shasha99第二本字典只是爲了幫助展示我需要的東西。我實際上並不需要打印字典;我需要將它張貼到grafana。所以我需要一把鑰匙才能離開。我會盡量在我的問題上澄清一點。 –