eKuiper REST api 允许您管理外部服务,例如注册、删除和列出服务,列出外部函数等。

注册外部服务

该API接受JSON内容以创建新的外部服务。

  1. POST http://localhost:9081/services

文件在http服务器上时的请求示例:

  1. {
  2. "name":"random",
  3. "file":"http://127.0.0.1/services/sample.zip"
  4. }

文件在eKuiper所在服务器上时的请求示例:

  1. {
  2. "name":"random",
  3. "file":"file:///var/services/sample.zip"
  4. }

参数

  1. name:外部服务的唯一名称,名称必须与 zip 文件里的服务定义 json 文件完全相同。
  2. file:外部服务文件的 URL。URL 支持 http 和 https 以及 file 模式。当使用 file 模式时,该文件必须在 eKuiper 服务器所在的机器上。它必须是一个 zip 文件,其中包含:与服务名相同的服务描述 json 文件以及其他任意辅助文件。其中,schema 文件必须在 schema 文件夹下。

服务文件格式

名为 sample.zip 的源的示例 zip 文件

  1. sample.json
  2. schema 目录:内部包含服务所用到的一个或多个 schema 文件。例如,sample.proto。

显示外部服务

该 API 用于显示服务器中为定义的所有外部服务。

  1. GET http://localhost:9081/services

响应示例:

  1. ["sample","sample2"]

描述外部服务

该 API 用于打印外部服务的详细定义。

  1. GET http://localhost:9081/services/{name}

路径参数 name 是外部服务的名称。

删除外部服务

该 API 用于删除外部服务,服务之下定义的所有函数都将被删除。

  1. DELETE http://localhost:9081/services/{name}

更新外部服务

该 API 用于更新外部服务,其参数与服务注册相同。

  1. PUT http://localhost:9081/services/{name}
  2. {
  3. "name":"random",
  4. "file":"http://127.0.0.1/services/sample.zip"
  5. }

显示所有外部函数

每个服务可包含多个函数。该 API 用于展示所有外部函数的可用于 SQL 的函数名称。

  1. GET http://localhost:9081/services/functions

结果样例:

  1. ["func1","func2"]

描述外部函数

该 API 用于展示定义此外部函数的服务名称。

  1. GET http://localhost:9081/services/functions/{name}

结果样例:

  1. {
  2. "name": "funcName",
  3. "serviceName": "serviceName"
  4. }