Ansible 将jinja2字符串解引用到变量中?

Ansible 将jinja2字符串解引用到变量中?,ansible,jinja2,Ansible,Jinja2,我有这样的想法: item = bar foobar = { a: b, b: c } 然后在jinja模板中: {{'foo' ~ item}} 我试图找出如何获取foobar键,但这只是返回字符串foobar 我试过几件事: {{('foo' ~ item).a}} {{'foo' ~ item.a}} {{{{'foo' ~ item}}.a}} 最终,它们将显示为字符串foobar,而不是计算变量foobar。。除了最后一个,它只是打破了。。但我不知道怎么做到这一点 (具体来说,这

我有这样的想法:

item = bar
foobar = { a: b, b: c }
然后在jinja模板中:

{{'foo' ~ item}}
我试图找出如何获取foobar键,但这只是返回字符串
foobar

我试过几件事:

{{('foo' ~ item).a}}
{{'foo' ~ item.a}}
{{{{'foo' ~ item}}.a}}
最终,它们将显示为字符串
foobar
,而不是计算变量
foobar
。。除了最后一个,它只是打破了。。但我不知道怎么做到这一点


(具体来说,这是通过将字符串与Ansible中的
{{item}}
组合而来的。因此答案不是“使用
{{foobar.a}}
”)

您可以使用以下脚本:

---
- hosts: localhost
  become: true
  vars:
    - itemn: bar
    - foobar: {"a":"b", "b":"c"}

  tasks:
    - debug: msg="{{vars['foo' ~ itemn]['a']}}"

请阅读@techraf好主意。顺便说一句,如果你想通过这种方式与我联系,我的twitter名称是相同的。(嘿,我们看看有没有人在上面签名)