ansible.builtin.slurp 模块 – 从远程节点读取文件
注意
此模块是 ansible-core 的一部分,并包含在所有 Ansible 安装中。在大多数情况下,即使不指定 collections 关键字,也可以使用短模块名称 slurp。但是,我们建议您使用完全限定集合名称 (FQCN) ansible.builtin.slurp,以便轻松链接到模块文档,并避免与其他可能具有相同模块名称的集合冲突。
概要
- 此模块的工作方式类似于 ansible.builtin.fetch。它用于获取包含远程文件中数据的 base64 编码的 blob。 
- Windows 目标也支持此模块。 
参数
| 参数 | 注释 | 
|---|---|
| 要获取的远程系统上的文件。这*必须*是一个文件,而不是目录。 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持: 完整 | 可以在 check_mode 下运行,并返回更改状态预测,而无需修改目标;如果不支持,则会跳过该操作。 | |
| 支持: 无 | 在 diff 模式下,将返回有关已更改的内容(或在 check_mode 下可能需要更改的内容)的详细信息 | |
| 平台: posix, windows | 可以操作的目标操作系统/系列 | 
注释
注意
- 此模块返回文件的“内存中”base64 编码版本,请注意,这将需要至少两倍于原始文件大小的 RAM。 
另请参阅
另请参阅
- ansible.builtin.fetch
- 从远程节点获取文件。 
示例
- name: Find out what the remote machine's mounts are
  ansible.builtin.slurp:
    src: /proc/mounts
  register: mounts
- name: Print returned information
  ansible.builtin.debug:
    msg: "{{ mounts['content'] | b64decode }}"
# From the commandline, find the pid of the remote machine's sshd
# $ ansible host -m ansible.builtin.slurp -a 'src=/var/run/sshd.pid'
# host | SUCCESS => {
#     "changed": false,
#     "content": "MjE3OQo=",
#     "encoding": "base64",
#     "source": "/var/run/sshd.pid"
# }
# $ echo MjE3OQo= | base64 -d
# 2179
返回值
常见返回值记录在这里,以下是此模块独有的字段
| 键 | 描述 | 
|---|---|
| 编码的文件内容 返回: 成功 示例:  | |
| 用于文件的编码类型 返回: 成功 示例:  | |
| 读取的文件的实际路径 返回: 成功 示例:  | 
