在Ansible中,可以使用变量进行过滤来实现对数据的筛选和处理。以下是一个示例解决方法:
data.yml
的YAML文件,包含一些示例数据:data:
- name: John
age: 25
gender: male
- name: Jane
age: 30
gender: female
- name: Bob
age: 35
gender: male
include_vars
模块加载数据文件:- name: Load data
include_vars:
file: data.yml
name: data
- name: Filter data
debug:
var: item
loop: "{{ data.data }}"
when: item.age >= 30
TASK [Filter data] *************************************************************
ok: [localhost] => (item={'name': 'Jane', 'age': 30, 'gender': 'female'}) => {
"item": {
"age": 30,
"gender": "female",
"name": "Jane"
}
}
ok: [localhost] => (item={'name': 'Bob', 'age': 35, 'gender': 'male'}) => {
"item": {
"age": 35,
"gender": "male",
"name": "Bob"
}
}
这是一个简单的示例,您可以根据自己的需求使用更复杂的过滤条件。