- 本书赞誉
- 前言
- 第一部分 基础篇
- 第1章 系统基础信息模块详解
- 第2章 业务服务监控详解
- 第3章 定制业务质量报表详解
- 第4章 Python 与系统安全
- 第二部分 高级篇
- 第5章 系统批量运维管理器 pexpect 详解
- 第6章 系统批量运维管理器 paramiko 详解
- 第7章 系统批量运维管理器Fabric详解
- 第8章 从零开发一个轻量级 WebServer
- 第9章 集中化管理平台 Ansible 详解
- 第10章 集中化管理平台 Saltstack 详解
- 第11章 统一网络控制器 Func 详解
- 第12章 Python 大数据应用详解
- 第三部分 案例篇
- 第13章 从零开始打造 B/S 自动化运维平台
- 第14章 打造 Linux 系统安全审计功能
- 第15章 构建分布式质量监控平台
- 第16章 构建桌面版 C/S 自动化运维平台
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
11.4 非 Python API 接口支持
Func通过非Python API实现远程调用,目的是为第三方工具提供调用及返回接口。Func使用func-transmit命令来实现,支持YAML与JSON格式,实现了跨应用平台、语言、工具等,比如通过Java或C生成JSON格式的接口定义,通过fun-transmit命令进行调用,使用上非常简单,扩展性也非常强。
定义一个command模块的远程执行,分别采用YAML及JSON格式进行定义,如下:
【/home/test/func/run.yaml】
clients: "*" async: False nforks: 1 module: command method: run parameters: "/bin/echo Hello World"
【/home/test/func/run.json】
{ "clients": "*", "async": "False", "nforks": 1, "module": "command", "method": "run", "parameters": "/bin/echo Hello World" }
各参数详细说明如下。
clients,目标主机,"*"代表所有被控主机;
async,是否异步,是一个布尔值,True为使用异步,False则不使用;
nforks,启用的线程数,用数字表示;
module,模块名称,如command、copyfile、process等;
method,方法名称,如command模块下的run方法;
parameters,参数,如"/usr/bin/tail-100/var/log/messages"。
通过func-transmit命令调用不同接口配置,将返回不同的格式串,如图11-7和图11-8所示。
图11-7 返回标准的YAML格式
图11-8 返回标准的JSON格式
返回的两种格式都可以被绝大部分语言所解析,方便后续处理。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论