mqtt sink server param no longer accepts path #2827
Replies: 9 comments 4 replies
-
Here is the rule status:
|
Beta Was this translation helpful? Give feedback.
-
Hi @wtflanders , I can't reproduce the same error in the 1.13.3 with your rule. Could you check with the rule spec by rest api |
Beta Was this translation helpful? Give feedback.
-
Hi @Yisaer, Here is the actual return text when creating rule using the kuiper CLI - This one works, from lfedge/ekuiper:1.4.2-slim-python docker image:
This one fails, from lfedge/ekuiper:1.13.3-slim-python docker image:
let me know if you need more info, |
Beta Was this translation helpful? Give feedback.
-
@wtflanders Could you please try accessing the functionality through the HTTP API instead and see if the issue persists? |
Beta Was this translation helpful? Give feedback.
-
Stream cmd works:
But rule cmd fails with same error message:
Thanks! |
Beta Was this translation helpful? Give feedback.
-
Please try modifying the format of the JSON parameter in your curl command or command line. Try to keep the JSON structure intact without line breaks. { |
Beta Was this translation helpful? Give feedback.
-
I simplified it, still no luck: curl -X POST http://localhost:9081/rules 'Content-Type: application/json' -d '{"ID":"postAlive2","SQL":"SELECT ts FROM alive_stream","Actions":[{"mqtt":{"server":"ws://dev00.company.com:8093/mqtt","topic":"ktest/dev/edge/alive"}}]}' This works with v1.4.2. |
Beta Was this translation helpful? Give feedback.
-
curl http://localhost:9081 | jq |
Beta Was this translation helpful? Give feedback.
-
@gexincoding I have eKuiper deployed via a helm chart in a kubernetes cluster. I scaled the replicas in that cluster down to 0 then ran 1.13.1 outside of the cluster via docker. It now works. I went back and dug through the v1.5 rel notes, it turns it out it was the servers param! Which... seemed to have nothing to do with the rules but when I changed the eKuiper deployment to use server instead of servers it now works in my cluster!!! Thank you for all your help. I had seen this change when I first posted but did not think it was related. |
Beta Was this translation helpful? Give feedback.
-
Hi, it's been a while since I updated my eKuiper version, I've been running on v1.4.2. The "server" param of an mqtt sink rule with 1.4.2 could have a / on the endpoint:
"server": "wss://hostname.x.com:443/mqtt"
Testing v1.13.3 I get a "server is missing" error when I add the
/mqtt
path portion to the endpoint.... and my connecting broker requires it.Is there a way around this?
When did it change?
Thx.
Here is my rule:
{ "ID": "postAlive", "SQL": "SELECT ts FROM alive_stream", "Actions": [ {
"mqtt": {
"server": "wss://host.x.com:443/mqtt",
"clientId": "alive-host.micron.com",
"password": "abcdefg",
"sendSingle": true,
"topic": "host/alive",
"username": "newusr"
}
}
]
}
Beta Was this translation helpful? Give feedback.
All reactions