lf-edge / ekuiper

Lightweight data stream processing engine for IoT edge

Home Page:https://ekuiper.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Getting error when using rule pipeline in edgex kuiper on docker linux ubuntu

nbenhur opened this issue · comments

I am running ekuiper from edgex running in docker. I am using ubuntu 22.04 lts OS. I followed "https://github.com/lf-edge/ekuiper/blob/master-1.13/docs/en_US/guide/rules/rule_pipeline.md" for rule pipeline example.
I created rule pipeline using two rules in one rule text file as below
{
"id": "rule6-1",
"sql": "SELECT avg(Uint8) FROM demo GROUP BY CountWindow(10)",
"actions": [{
"memory": {
"keyField": "id",
"rowkindField": "action",
"topic": "analytic",
"sendSingle": true
}
}]
}
rule6.txt
{
"id": "rule6-2",
"sql": "SELECT Uint8 FROM analytic",
"actions": [{
"memory": {
"keyField": "id",
"rowkindField": "action",
"topic": "ruleoutput",
"sendSingle": true
}
}]
}

i executed with command
bin/kuiper create rule rule6 -f /kuiper/kuiper-files/rule6.txt

I am getting error
Create rule error : invalid rule json: Parse rule {
error : invalid character '{' after top-level value..

Can you help to solve the issue.
Screenshot from 2024-07-13 18-20-14

i am using lfedge/ekuiper:v1.14.0-alpha.2

@nbenhur Create rule does not support batch creation. You'll need to create each rule in a single file

In this link "https://github.com/lf-edge/ekuiper/blob/master-1.13/docs/en_US/guide/rules/rule_pipeline.md" for rule pipeline example, in the 4 th point rule2-1 and rule2-2 are created in the same rule file. Can you tell how this rule file can run. I want to test it in my computer.
In the previous reply you said that "Create rule does not support batch creation". Then how to create it?

@nbenhur The link just list all streams/rules to be created. Assume users have known how to create rules. Thus, create rule2-1 in a file. Then create rule2-2 in another file. Or creating with REST API. The two rules are independant.