我在下面写了代码,通过rest api使用ansible uri模块上传tar.gz文件
- name: Upload tar.gz file
hosts: localhost
tasks:
- name: Upload tar.gz file
uri:
url: "<url>/upload_tar_gz"
method: POST
HEADER_Content-Type: "multipart/form-data"
force_basic_auth: yes
user: "{{username}}"
password: "{{password}}"
status_code: 200
validate_certs: no
return_content: yes
body_format: json
body: "{{ lookup('file','test_file.tar.gz') }}"
但是得到以下错误:
致命:[localhost]:失败! =&GT; {“failed”:true,“msg”:“运行查找插件'文件'时发生未处理的异常。错误是原始消息:'utf8'编解码器无法解码位置1中的字节0x8b:无效的起始字节” }
看起来文件插件无法加载tar.gz文件。有什么具体原因吗?
答案 0 :(得分:1)
查找将永远无法处理二进制数据。
请参阅下面的ansible github链接 https://github.com/ansible/ansible/issues/11594