{{ec2.instances |。}上发生意外的模板类型错误from_json}}:期望的字符串或缓冲区?

时间:2018-01-18 10:11:05

标签: json ansible

我无法将变量中的json字符串传递给from_json。我从标题中收到错误消息。以下是我的“代码”。

- ec2_instance_facts:
    aws_access_key: "{{ key }}"
    aws_secret_key: "{{ secret }}"
  register: ec2

- name: "Looking up stuff."
  set_fact:
    a_count: "{{ ec2.instances | from_json }}"

- debug:
    msg: "{{ a_count }}"

任何想法如何实现?我希望之后将json对象传递给json_query

1 个答案:

答案 0 :(得分:2)

json_query使用Python对象进行操作。 Ansible将数据存储在Python对象中。

您在屏幕上看到JSON的原因是因为Ansible输出插件将对象转储为JSON。

您可以{{ ec2.instances | json_query('...') }}进行任何转换。

如果您有一些带有JSON数据的字符串,则需要

from_json才能将其转换为Python对象。