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

# 注册外部服务

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

POST http://localhost:9081/services
1

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

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

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

{
  "name":"random",
  "file":"file:///var/services/sample.zip"
}
1
2
3
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 用于显示服务器中为定义的所有外部服务。

GET http://localhost:9081/services
1

响应示例:

["sample","sample2"]
1

# 描述外部服务

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

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

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

# 删除外部服务

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

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

# 更新外部服务

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

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

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

# 显示所有外部函数

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

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

结果样例:

["func1","func2"]
1

# 描述外部函数

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

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

结果样例:

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