将variables写入Ansible中的文件

我通过URI模块拉取JSON,并希望将接收到的内容写入文件。 我能够获取内容并将其输出到debugging器,所以我知道已经收到内容,但我不知道写入文件的最佳做法。

您可以使用copy模块和content参数:

 - copy: content="{{ your_json_feed }}" dest=/path/to/destination/file 

这里的文档: 复制模块

除非你正在写非常小的文件,否则你应该使用模板 。

例:

 - name: copy upstart script template: src: myCompany-service.conf.j2 dest: "/etc/init/myCompany-service.conf" 

根据拉蒙的回答,我遇到了一个错误。 在我试图写JSON的空间的问题,我通过更改剧本中的任务看起来像这样修复:

 - copy: content: "{{ your_json_feed }}" dest: "/path/to/destination/file" 

截至目前我不知道为什么这是必要的。 我最好的猜测是,它与Ansible中的variables如何replace以及parsing结果文件有关。