Skip to content

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

注册外部服务

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

shell
POST http://localhost:9081/services

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

json
{
  "name":"random",
  "file":"http://127.0.0.1/services/sample.zip"
}

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

json
{
  "name":"random",
  "file":"file:///var/services/sample.zip"
}

参数

  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 用于显示服务器中为定义的所有外部服务。

shell
GET http://localhost:9081/services

响应示例:

json
["sample","sample2"]

描述外部服务

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

shell
GET http://localhost:9081/services/{name}

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

删除外部服务

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

shell
DELETE http://localhost:9081/services/{name}

更新外部服务

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

shell
PUT http://localhost:9081/services/{name}

{
  "name":"random",
  "file":"http://127.0.0.1/services/sample.zip"
}

显示所有外部函数

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

shell
GET http://localhost:9081/services/functions

结果样例:

json
[
  {
    "ServiceName": "serviceName",
    "InterfaceName": "interfaceName",
    "Addr": "http://192.168.2.102:9090",
    "MethodName": "funcName",
    "FuncName": "funcName"
  }
]

描述外部函数

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

shell
GET http://localhost:9081/services/functions/{name}

结果样例:

json
{
  "ServiceName": "serviceName",
  "InterfaceName": "interfaceName",
  "Addr": "http://192.168.2.102:9090",
  "MethodName": "funcName",
  "FuncName": "funcName"
}