规则集管理
eKuiper REST api 允许您导入导出当前的所有流和规则配置。
规则集格式
导入导出规则集的文件格式为 JSON,其中可包含三个部分:流 streams
,表 tables
和规则 rules
。每种类型保存名字和创建语句的键值对。在以下示例文件中,我们定义了一个流和两条规则。
json
{
"streams": {
"demo": "CREATE STREAM demo () WITH (DATASOURCE=\"users\", FORMAT=\"JSON\")"
},
"tables": {},
"rules": {
"rule1": "{\"id\": \"rule1\",\"sql\": \"SELECT * FROM demo\",\"actions\": [{\"log\": {}}]}",
"rule2": "{\"id\": \"rule2\",\"sql\": \"SELECT * FROM demo\",\"actions\": [{ \"log\": {}}]}"
}
}
导入规则集
该 API 接受规则集并将其导入系统中。若规则集中的流或规则已存在,则不再创建。导入的规则将立刻启动。API 返回文本告知创建的流和规则的数目。 API 支持通过文本内容或者文件 URI 的方式指定规则集。
示例1:通过文本内容导入
shell
POST http://{{host}}/ruleset/import
Content-Type: application/json
{
"content": "$规则集 json 内容"
}
示例2:通过文件 URI 导入
shell
POST http://{{host}}/ruleset/import
Content-Type: application/json
{
"file": "file:///tmp/a.json"
}
导出规则集
导出 API 返回二进制流,在浏览器使用时,可选择下载保存的文件路径。
shell
POST http://{{host}}/ruleset/export