Skip to content

表管理

eKuiper 支持 REST api 方式管理表,例如创建、描述、显示和删除。

创建表

该 API 用于创建表。更详细的表定义信息请参考tables

shell
POST http://localhost:9081/tables

请求示例,请求是一个带有 sql 字段的 json 字符串。

json
{"sql":"create table my_table (id bigint, name string, score float) WITH ( datasource = \"lookup.json\", FORMAT = \"json\", KEY = \"id\")"}

这个API可以运行任何表的sql语句,不仅仅是建表。

查看所有的表

此 API 用于显示 eKuiper 中定义的所有表

shell
GET http://localhost:9081/tables

返回示例:

json
["mytable"]

此 API 可接受一个参数 kind,用于指定所需查看的表的类型。类型值可为 scan 或者 lookup。其他类型值将返回所有表格。在如下例子中,我们将查看所有 lookup table。

shell
GET http://localhost:9081/tables?kind=lookup

查看表的详细信息

该 API 用于打印表的详细定义。

shell
GET http://localhost:9081/tables/{id}}

返回示例:

shell
{
  "Name": "demo",
  "StreamFields": [
    {
      "Name": "temperature",
      "FieldType": {
        "Type": 2
      }
    },
    {
      "Name": "ts",
      "FieldType": {
        "Type": 1
      }
    }
  ],
  "Options": {
    "DATASOURCE": "lookup.json",
    "FORMAT": "JSON"
  }
}

获取数据结构

该 API 用于获取流的数据结构,该数据结构为合并物理 schema 和逻辑 schema 后推断出的实际定义结构。

shell
GET http://localhost:9081/tables/{id}/schema

更新表

该 API 用于更新表的定义。

shell
PUT http://localhost:9081/tables/{id}

路径参数 id 是旧表的 id 或名称。 请求示例,请求是一个带有 sql 字段的 json 字符串。

json
{"sql":"create table my_table (id bigint, name string, score float) WITH ( datasource = \"topic/temperature\", FORMAT = \"json\", KEY = \"id\")"}

删除表

该 API 用于删除表。

shell
DELETE http://localhost:9081/tables/{id}