jinja2.exceptions.TemplateRuntimeError:没有名为“split”的过滤器

qui*_*ver 3 json split ansible

我的 ansible 脚本看起来像,

- name: get dataset id
  set_fact : 
    dataset_ID: "{{ABC.json.datasets | json_query(query) | map('split', '/') | map(attribute=5) | list | first}}"
  vars:
    query: "[?displayName == 'My_dataset'].name"
  
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误

An exception occurred during task execution. To see the full traceback, use -vvv. The error was: jinja2.exceptions.TemplateRuntimeError: no filter named 'split'
fatal: [localhost]: FAILED! => changed=false
Run Code Online (Sandbox Code Playgroud)

不确定这里发生了什么。我的意思是该脚本之前工作正常,当我在新虚拟机中运行它时,它会抛出此错误。有什么想法重新评价这个吗?

lar*_*sks 9

该过滤器直到2021 年 2 月split才添加。我认为这意味着如果您运行 Ansible 2.11 之前的任何版本,您将不会拥有它。