URIモジュールを介してJSONをプルしており、受信したコンテンツをファイルに書き出したいと考えています。コンテンツを取得してデバッガーに出力することができるので、コンテンツが受信されたことはわかりますが、ファイルを書き込むためのベストプラクティスはわかりません。
copy
パラメーターを指定したcontent
モジュールを使用できます。
- copy: content="{{ your_json_feed }}" dest=/path/to/destination/file
こちらのドキュメント: copy module
非常に小さなファイルを作成する場合を除き、おそらく templates を使用する必要があります。
例:
- name: copy upstart script
template:
src: myCompany-service.conf.j2
dest: "/etc/init/myCompany-service.conf"
Ramonの回答に基づいて、エラーが発生しました。記述しようとしたJSONのスペースの問題は、プレイブックのタスクを次のように変更することで修正されました。
- copy:
content: "{{ your_json_feed }}"
dest: "/path/to/destination/file"
今のところ、なぜこれが必要なのかわかりません。私の最良の推測は、変数がAnsibleでどのように置き換えられ、結果のファイルが解析されるかに関係しているということです。