Func非Python API实现远程调用

发布于 2022-10-15 07:16:06 字数 2232 浏览 20 评论 0

Func非Python API实现远程调用

关于Func非Python API实现远程调用,目的是给第三方工具提供调用及返回接口。Func使用func-transmit命令来实现,支持YAML 1.0 与 JSON,使用上非常简单。例子如下:
YAML格式
#vi run.yaml

  1. clients: "*"
  2. async: False
  3. nforks: 1
  4. module: command
  5. method: run
  6. parameters: "/bin/echo Hello World"

复制代码JSON格式

  1. #vi run.json
  2. {
  3.          "clients": "*",
  4.          "async": "False",
  5.          "nforks": 1,
  6.          "module": "command",
  7.          "method": "run",
  8.          "parameters": "/bin/echo Hello World"
  9. }

复制代码参数说明
clients    目标主机,"*"代码所有被控主机。
async     是否异步,是一个bool值,True为使用异步,False则不使用。
nforks    启用的线程数,用数字表示。
module  模块名称,如command。
method  方法名称,如command模块下的run方法。
parameters  参数,如"/usr/bin/tail -100 /var/log/messages"。

运行结果
func-transmit --json < run.json

  1. {"SERVER-005": "Hello World www.tianya.cn", "SERVER-004": "Hello World www.tianya.cn", "SERVER-001": "Hello World www.tianya.cn", "SERVER-003": "Hello World www.tianya.cn", "SERVER-002": "Hello World www.tianya.cn"}

复制代码func-transmit --yaml < run.yaml

  1. ---
  2. SERVER-001: Hello World www.tianya.cn
  3. SERVER-002: Hello World www.tianya.cn
  4. SERVER-003: Hello World www.tianya.cn
  5. SERVER-004: Hello World www.tianya.cn
  6. SERVER-005: Hello World www.tianya.cn

复制代码从运行结果可以看出,根据不同的接口格式能返回相应的结果。此时输出的YAML与JSON格式能够被绝大多数的语言识别,接下来就可以做一些后续的处理了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文